首頁 > Java > java教程 > 如何正確匹配多行文字與Java正規表示式?

如何正確匹配多行文字與Java正規表示式?

Mary-Kate Olsen
發布: 2024-12-09 18:01:15
原創
296 人瀏覽過

How to Correctly Match Multiline Text with Java Regular Expressions?

用正規表示式匹配多行文字

匹配多行文字通常需要處理換行和錨定。當使用 Java 的 Pattern 類別時,有兩個修飾符可以幫助實現這一點:Pattern.MULTILINE 和 String.matches()。但是,它們的用法可能會產生混淆。

Pattern.MULTILINE 與(?m)

Pattern.MULTILINE 和(?m) 都有相同的用途:允許^ 和$ 在每行的開頭和$結尾匹配,而不僅僅是在整行的開頭和結尾string.

String.matches() 與Pattern.matcher()

String.matches() 期望正規表示式符合整個字串。這意味著在處理多行文字時它的使用會受到限制。

解決範例

在提供的範例中, (?m) 與 String.matches( ),這就是問題所在。由於正規表示式僅捕獲多行文字的一部分,因此 String.matches() 無法匹配整個字串並傳回 false。

多行匹配的正確用法

要正確匹配多行文本,您應該使用Pattern.compile() 和Pattern.DOTALL 修飾符,它允許點( .) 匹配換行符。以下是程式碼的更新版本:

此程式碼將成功擷取多行「使用者評論:」之後的文字。

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

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