正则表达式中的边界匹配\ b

时间:2015-03-24 07:06:45

标签: java regex

我在KB书中看到了这个例子。可以请有人向我解释一下吗?在此先感谢:)

java RegTest "\\b" "w2w w$ &#w2"

输出:

  

比赛位置:0 3 4 5 9 11

1 个答案:

答案 0 :(得分:0)

看起来RegTest用于列出字符串中与给定正则表达式匹配的所有位置。

\b正则表达式是一个字边界,是^$等零宽度标记之一,它匹配字符之间的(包括之前)并在整个测试字符串之后)。

如果相邻字符是单词字符(w[A-Za-z0-9_]),则字边界出现在字符串的开头和结尾处,以及从单词字符转换到单词字符的任何位置任意方向的非单词字符(\W[^A-Za-z0-9_])。

所以这些位置位于下面标有^的字符之前:

w2w w$ &#w2
^  ^^^   ^ ^
0  345   9 11