繁体   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