我有一个经常更改的字符串,格式为:
*** START OF THIS PROJECT FILENAME ***
其中FILENAME可以是不同实例中的多个单词。我试过运行正则表达式:
Pattern.matches("\\*\\*\\* START OF THIS PROJECT ", line);
其中line等于一个这样的字符串。 我也尝试使用Matcher,其中beginningOfFilePatter也设置为上面的相同正则表达式模式:
Matcher beginFileAccelerator;
beginFileAccelerator = beginningOfFilePattern.matcher(line);
if (beginFileAccelerator.find()
//Do Something
我非常好地尝试了至少30种不同的正则表达式组合,我根本找不到解决方案。如果有人能借我一眼,我会非常感激。
答案 0 :(得分:2)
Pattern.matches
尝试将整个字符串与模式进行匹配,因为它使用了Matcher#matches
,其中包含:{/ p>
尝试将整个区域与模式匹配。
在您的情况下,最终会失败,因为输入不会以"PROJECT "
结尾。之后还有更多。
要在最后添加任何内容,请添加.*
:
Pattern.matches("\\*\\*\\* START OF THIS PROJECT .*", line)
// Here -----------------------------------------^