[英]Regular expression to fetch lines evaluating only one part of a string, 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.