簡體   English   中英

Java正則表達式不評估

[英]Java Regular Expression not evaluating

我有一個經常更改的字符串,其形式為:

*** START OF THIS PROJECT FILENAME ***

其中FILENAME在不同實例中可以是多個單詞。 我嘗試運行正則表達式:

Pattern.matches("\\*\\*\\* START OF THIS PROJECT ", line);

其中line等於一個這樣的字符串。 我還嘗試使用Matcher,其中beginingFileFilePatter也設置為與上面相同的regex模式:

Matcher beginFileAccelerator;
beginFileAccelerator = beginningOfFilePattern.matcher(line);
if (beginFileAccelerator.find() 
//Do Something

我已經嘗試了至少30種不同的正則表達式組合,但我根本找不到解決方案。 如果有人可以吸引我的眼球,我將不勝感激。

Pattern.matches嘗試將整個字符串與模式匹配,因為在Matcher#matches它使用Matcher#matches ,它表示:

嘗試根據圖案匹配整個區域。

在您的情況下,最后將失敗,因為輸入的結尾不是"PROJECT " 之后還有更多。

要允許最后添加任何內容,請添加.*

Pattern.matches("\\*\\*\\* START OF THIS PROJECT .*", line)
// Here -----------------------------------------^

現場例子

暫無
暫無

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

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