正则表达式与单词边界相关\ b

时间:2017-05-17 04:37:09

标签: c# c#-4.0

我之前没有使用过Regex。

\ bcat \ b与_cat中的cat不匹配。我看到_是非单词char,c是单词char。因此,我认为_cat中的猫应该匹配。但是,在下面的论坛中,它说它不是。

http://www.rexegg.com/regex-boundaries.html#wordboundary

不太明白背后的原因。

1 个答案:

答案 0 :(得分:1)

\ b anchor指定匹配必须发生在单词字符(\ w语言元素)和非单词字符(\ W语言元素)之间的边界上。单词字符由字母数字字符和下划线组成;非单词字符是不是字母数字或下划线的任何字符。 (有关更多信息,请参阅字符类。)匹配也可能出现在字符串开头或结尾的单词边界上。

" _cat"中的四个字符都是字符,匹配\ w。 请参阅字符类:https://msdn.microsoft.com/en-us/library/20bw873z(v=vs.110).aspx