首頁 > Java > java教程 > 如何在 Java 中使用正規表示式僅匹配前面沒有特定字元的模式?

如何在 Java 中使用正規表示式僅匹配前面沒有特定字元的模式?

Patricia Arquette
發布: 2024-11-29 22:46:11
原創
730 人瀏覽過

How Can I Use Regex in Java to Match Patterns Only When Not Preceded by Specific Characters?

使用正規表示式匹配前面沒有特定字元的模式

在Java 中,正規表示式提供了一種強大的方法來匹配字串中的模式。有時,您可能只需要匹配前面沒有某些字元的模式。透過利用負向後查找,正規表示式可以實現這一點。

問題:

考慮以下字串:

String s = "foobar barbar beachbar crowbar bar ";
登入後複製

我們希望匹配前面沒有緊接著「foo」的所有出現的「bar 」。所需的輸出將是:

barbar
beachbar
crowbar
bar
登入後複製

解決方案:

要完成此任務,我們可以使用以下正規表示式模式:

\w*(?<!foo)bar
登入後複製

分解模式:

  • w*匹配任意數量的單字字元(字母、數字或底線)位於潛在匹配項之前。此部分可擷取「beachbar」中的「beach」等字元。
  • (?

透過使用此模式,我們可以成功地匹配前面沒有「foo」的「bar」。結果將鏡像所需的輸出。

附加說明:

  • 有關正則表達式負向後查找的更多信息,請參閱“正則表達式 - 環視”。
  • 後來加入了 w* 部分,以捕捉模式之前的字元(例如,「beach」) 「海灘酒吧」)。

以上是如何在 Java 中使用正規表示式僅匹配前面沒有特定字元的模式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板