示例
的\b元字符
为了使查找整个单词更容易,我们可以使用metacharacter\b。它标志着开始和的结束字母数字序列*的。同样,由于它仅用于标记此位置,因此实际上它本身不匹配任何字符。
*:通常将一个字母数字序列称为一个单词,因为我们可以使用一个\w(单词字符类)来捕获它的字符。但是,这可能会引起误解,因为其中\w还包括数字,并且在大多数情况下还包括下划线。
例子:
正则表达式 | 输入值 | 火柴? | \bstack\b | stackoverflow | 不,因为没有整个单词出现stack |
\bstack\b | foostackbar | 是的,因为之前和之后都没有stack |
\bstack\b | stack!overflow | 是的:以前没有任何东西,stack而且!不是文字字符 |
\bstack | stackoverflow | 是的,因为之前没有任何东西stack |
overflow\b | stackoverflow | 是的,因为之后什么也没有overflow |
的\B元字符
这与的相反\b,它与每个非边界字符的位置匹配。像一样\b,因为它匹配位置,所以它自己不匹配任何字符。这对于查找非完整单词很有用。
例子:
正则表达式 | 输入值 | 火柴? | \Bb\B | abc | 是的,因为b没有单词边界所包围。 |
\Ba\B | abc | 不,a左侧有字词边界。 |
a\B | abc | 是的,a其右侧没有单词边界。 |
\B,\B | a,,,b | 是的,它与第二个逗号匹配,因为它\B也将匹配两个非单词字符之间的空格(应注意,第一个逗号的左侧和第二个逗号的右侧都有一个单词边界)。 |