在 Java 正規表示式中擷取群組
了解 Java 正規表示式中的擷取群組可以增強您的模式匹配能力。讓我們仔細看看您提供的程式碼。
正規表示式「(.)(d )(.)」由三個捕獲組組成:
執行此正規表示式時,我們遇到第一組中使用的量詞類型的問題。貪婪量詞 () 會匹配盡可能多的文本,導致意外結果。為了解決這個問題,我們將其替換為一個不情願的量詞 (?),它在仍然滿足條件的同時匹配盡可能少的字符。
改進的正規表示式:
String pattern = "(.*?)(\d+)(.*)";
透過此修改,第一組不再符合所有可用字元。相反,它停在第一個數字處,提供更理想的輸出:
group 1: This order was placed for QT group 2: 3000 group 3: ! OK?
捕獲組有幾個優點:
在Java 6 中,只能按組的順序來引用組。然而,在 Java 7 及更高版本中,命名組提供了更大的靈活性和易用性。
以上是標題可以是: 捕獲組在 Java 正規表示式中如何運作以及它們有什麼好處?的詳細內容。更多資訊請關注PHP中文網其他相關文章!