Regex 关于Unicode正则表达式单词边界中的\b{w}语法
在描述Unicode正则表达式中单词边界扩展图形集簇的语法时,我不太理解它与Regex 关于Unicode正则表达式单词边界中的\b{w}语法,regex,unicode,Regex,Unicode,在描述Unicode正则表达式中单词边界扩展图形集簇的语法时,我不太理解它与\b{w}语法的不同。它说,在中国 \b{w}。Unicode单词边界。请注意,这与单独的\b不同,后者对应于\w和\w。请参见附录C:兼容性属性 那么这两种语法之间到底有什么区别呢 \b == \w\W 其中\W=[^A-Za-z0-9][/code>=>它只处理asci字母数字,而\b{W}处理UNICODE字符集(即:更宽的字母数字集) 您可以看到一个与.相比较的示例,例如,/p\b{w}/与“pä”不匹配,但/
\b{w}
语法的不同。它说,在中国
\b{w}。Unicode单词边界。请注意,这与单独的\b不同,后者对应于\w和\w。请参见附录C:兼容性属性
那么这两种语法之间到底有什么区别呢
\b == \w\W
其中\W=[^A-Za-z0-9][/code>=>它只处理asci字母数字,而\b{W}
处理UNICODE字符集(即:更宽的字母数字集)
您可以看到一个与.相比较的示例,例如,/p\b{w}/
与“pä”
不匹配,但/p\b/
匹配。(虽然,目前我还不知道有一个兼容的regexp引擎)?在他的回答中,似乎\b{w}
将处理unicode,因此它将匹配ä
?我确实写错了一秒钟,现在应该是正确的p
是单词字符,但ä不是,因此\b
在它们之间匹配。这两个字符都是Unicode单词字符,因此它们之间没有Unicode单词边界,所以\b{w}
不会。@Xiangyu.Wu\b
的行为就像一个环顾,它是一个0宽度的断言PCRE确实有能力匹配Unicode边界,但它不支持这种语法:在我所知道的所有引擎中,\b{w}
将匹配单词字符后的三个字符{w}
。