首頁 >Java >java教程 >如何在Java中使用正規表示式來匹配括號外的逗號?

如何在Java中使用正規表示式來匹配括號外的逗號?

Barbara Streisand
Barbara Streisand原創
2024-11-10 09:51:02290瀏覽

How to Match Commas Outside Parentheses Using Regular Expressions in 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);

考慮一個多個的字串逗號,例如「12,44,foo,bar,(23,45,200),6。」目標是在Java 中建立一個正規表示式,符合除括號內的逗號之外的所有逗號,即在給定範例中僅匹配23 和45 之後的逗號。

    解:
  1. 為了實現這一點,我們需要使用包含否定先行斷言的正規表示式。以下是符合此要求的Java 正規表示式:
  2. 說明:
  3. 逗號匹配逗號匹配:第一部分正則表達式式,“逗號”,簡單地匹配逗號。 否定先行斷言:否定先行斷言,包含在「(?!)」部分中,檢查以下模式是否匹配逗號.
  4. 巢狀括號檢查:此模式包含「
1

    )」。 “
  1. 1
”部分匹配除左括號“(”之外的任意數量的字符。“)”部分匹配右括號“)”。
整體邏輯:負向前視確保逗號僅在其後不跟開號以外的任何字符時匹配括號,然後是右括號。這有效地排除了括號內的逗號。 ( ↩

以上是如何在Java中使用正規表示式來匹配括號外的逗號?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn