Java Regex Word Boundaries
嗨,我有以下代码,这是为了找到单词“是”,但不是当它在另一个字符串中,所以单词“this”不应返回匹配,所以我使用\ b。 但是下面的代码没有找到匹配,我无法弄清楚为什么?
public static void main(String[] args) { String a = "This island is beautiful."; Pattern p = Pattern.compile("\bis\b"); Matcher m = p.matcher(a); while(m.find()){ System.out.println(a.substring(m.start(), m.end())); } }
双逃避它:
Pattern p = Pattern.compile("\\bis\\b");
Java中的正则表达式要求您双倍地逃避某些特殊的正则表达式符号,一个用于Java,另一个用于底层正则表达式引擎。