簡體   English   中英

Java正則表達式匹配相同特定字符序列之間的所有內容

[英]Java regular expression to match everything between same specific character sequences

我們以字符串"Something foo part1 foo part2 foo part3"為例。

我想找到以“foo”開頭的所有部分,直到另一個“foo”或字符串結尾,然后替換(將內部部分包裝成HTML標記)。 所以結果應該是"Something <bar> part1 </bar><bar> part2 </bar><bar> part3</bar>"

我開始使用: "foo(.*?)(foo|$)"並將其替換為"<bar>$1</bar>" 替換似乎沒事,但我需要有關正則表達式本身的幫助。

到目前為止,我已經嘗試了很多帶有負面觀察和其他變化的變化。 謝謝你的任何建議。

只需將第二組更改為預測即可

foo(.*?)(?=foo|$)

在Regexr上看到它

問題是你要匹配你想用作下一個起點的“foo”。 您可以通過使用前瞻斷言來避免這種情況 這樣,以下“foo”不匹配,因此用作下一場比賽的開始。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM