Q表示“文字文本的开始”(即正则表达式“开引号”)
E表示“文字文本的结束”(即正则表达式“闭引号”)
调用该
Pattern.quote()方法将在
Q...E其中包装字符串,这会将文本转换为正则表达式 文字
。例如,
Pattern.quote(".*")将匹配一个点然后一个星号:System.out.println("foo".matches(".*")); // trueSystem.out.println("foo".matches(Pattern.quote(".*"))); // falseSystem.out.println(".*".matches(Pattern.quote(".*"))); // true该方法的目的是不需要程序员记住特殊术语
Q并
E为代码增加一点可读性-正则表达式已经很难阅读。比较:
someString.matches(Pattern.quote(someLiteral));someString.matches("\Q" + someLiteral + "\E"));引用javadoc:
返回指定字符串的文字模式字符串。
此方法产生一个String,该字符串可用于创建与字符串s相匹配的Pattern,就好像它是文字模式一样。
输入序列中的元字符或转义序列将没有特殊含义。



