符合字串中括號外的逗號
考慮類似以下內容的字串:
12,44,foo,bar,(23,45,200),6
目標是在Java 中建構一個正規表示式,以僅選擇未括在括號內的逗號。在此範例中,所需的符合項目將是「12」和「44」後面的逗號。
解決方案
以下Java 正則表達式完成任務:
Pattern regex = Pattern.compile( ", # Match a comma\n" + "(?! # only if it's not followed by...\n" + " [^(]* # any number of characters except opening parens\n" + " \) # followed by a closing parens\n" + ") # End of lookahead", Pattern.COMMENTS);
解釋
此正規表示式使用否定先行斷言,由「(?!...)」表示,以確保下一個括號(如果有)不是右括號。此約束僅允許逗號不在括號表達式內時符合。
以上是如何使用正規表示式在 Java 中匹配括號外的逗號?的詳細內容。更多資訊請關注PHP中文網其他相關文章!