0
我越来越熟悉的正则表达式(工作.NET)\ B就锚锚b(.NET)我不明白为什么正则表达式
@"\b\w+\s\w+\b"
不匹配
"theme them"
IN
"them theme them them"
相信空间是非单词字符这样的边界存在于(2),所以它应该是一个匹配两端。
有人能解释我为什么我错了吗?
感谢
我越来越熟悉的正则表达式(工作.NET)\ B就锚锚b(.NET)我不明白为什么正则表达式
@"\b\w+\s\w+\b"
不匹配
"theme them"
IN
"them theme them them"
相信空间是非单词字符这样的边界存在于(2),所以它应该是一个匹配两端。
有人能解释我为什么我错了吗?
感谢
它不会匹配,因为比赛的重叠子theme them
。
最初这\b\w+\s\w+\b
正则表达式匹配them theme
然后它检查符合模式的字符串。那么它匹配them them
。它不匹配theme them
之间的中间值,因为子字符串theme
已经匹配。
您需要使用正向查找顺序来匹配已匹配的字符串。
@"(?=(\b\w+\s\w+\b))"