我遇到了正则表达式命令的问题:
text="blue:
allocatable
allocate
assign" //it has delimiters (new lines)
String patternblue = ".*blue.*";
boolean isMatchblue = Pattern.matches(patternblue, text.toString());
System.out.println(isMatchblue);
给出“假”,会发生什么?
我检查了论坛中的其他帖子,但我不知道它也没有。*?也不是
答案 0 :(得分:3)
对于此特定Pattern
,您需要使用DOTALL
标记,因为.*
之后blue
与新行不匹配。
由于没有matches
覆盖带有可选标记,您最终可能会将代码更改为:
Pattern.compile(patternblue, Pattern.DOTALL).matcher(text).matches();