正则表达式中有很多需要记忆的符号,在本文记录一下其中的’\b’和’\w’的用法。
\b
概念: '\b’匹配这样的位置:它的前一个“显式位置”字符和后一个“显式位置”字符不全是 \w。
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexMatches
{
private static final String REGEX = "\\bcat\\b";
private static final String INPUT =
"cat cat cat cattie cat";
public static void main( String args[] ){
Pattern p = Pattern.compile(REGEX);
Matcher m = p.matcher(INPUT); // 获取 matcher 对象
int count = 0;
while(m.find()) {
count++;
System.out.println("Match number "+count);
System.out.println("start(): "+m.start());
System.out.println("end(): "+m.end());
}
}
}
在这个例子中,"\bcat\b"要匹配的条件为"cat"前不为字母数字和下划线(因为已知c的后一个字符为字母);"cat"后也不为字母数字和下划线(已知t前的一个字符为字母)。所以上述例子的运行结果如下。
Match number 1
start(): 0
end(): 3
Match number 2
start(): 4
end(): 7
Match number 3
start(): 8
end(): 11
Match number 4
start(): 19
end(): 22
\w
概念:\w 匹配字母或数字或下划线