人为的示例:您想匹配 Java 源文件中的特定导入行,例如:
import foo.bar.Baz;
为了匹配输入中任何位置的该行,即多行,更简单的解决方案是Pattern.MULTILINE
与此正则表达式一起使用:
^\s*import\s+foo\.bar\.Baz\s*;\s*$
在这里,^
将在换行符之后和$
之前匹配。在这种情况下这是可取的。
和:
边界匹配器 ^ 作为默认值应该匹配行的开头和 $ 本教程解释的行尾。
这是不真实的。默认情况下,匹配输入^
的开头,并匹配输入的结尾。$
插图:
public static void main(final String... args)
{
final Pattern p1 = Pattern.compile("^dog$");
final Pattern p2 = Pattern.compile("^dog$", Pattern.MULTILINE);
final String input = "cat\ndog\nTasmanian devil";
System.out.println(p1.matcher(input).find());
System.out.println(p2.matcher(input).find());
}
这输出:
false
true