首頁 > Java > java教程 > Java中如何使用正規表示式有效匹配多行文字?

Java中如何使用正規表示式有效匹配多行文字?

DDD
發布: 2024-12-27 08:20:11
原創
312 人瀏覽過

How Can I Effectively Match Multiline Text Using Regular Expressions in Java?

利用正規表示式進行多行文字比對

嘗試在Java 中使用正規表示式來符合多行文字時,需要考慮某行文字時,需要考慮某行文字時,需要考慮某行文字些注意事項。 Pattern.MULTILINE 修飾符和 (?m) 簡寫似乎可以呈現意想不到的結果。

要理解該行為,必須澄清修飾符的用途。 Pattern.MULTILINE (?m) 使錨點 ^(行首)和 $(行尾)能夠在每行的開頭和結尾處匹配,而不是僅在字符串的邊界處匹配。另一方面,Pattern.DOTALL (?s) 允許點字元匹配換行符。

在您的範例中,(?m) 模式在與 String.matches 一起使用時會失敗,因為 matches() 需要正規表示式匹配整個字串。由於您的正規表示式 (W)(S) 僅符合字串的一部分,因此比較結果為 false。

要尋找以「User Comments:」開頭的字串,這是一個正規表示式更適合該任務的是:

此正規表示式使用Pattern.DOTALL 允許點匹配換行符,並且它捕獲將“用戶評論:”後面的文字放入第一個捕獲組中。

透過使用 DOTALL 修飾符並利用正確的匹配方法(find() 或 matches()),您可以使用正規表示式有效地匹配多行文字Java。

以上是Java中如何使用正規表示式有效匹配多行文字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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