Regex 关于Unicode正则表达式单词边界中的\b{w}语法

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ä”不匹配,但/

在描述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ä”
不匹配,但
/p\b/
匹配。(虽然,目前我还不知道有一个兼容的regexp引擎)?在他的回答中,似乎
\b{w}
将处理unicode,因此它将匹配
ä
?我确实写错了一秒钟,现在应该是正确的
p
是单词字符,但ä不是,因此
\b
在它们之间匹配。这两个字符都是Unicode单词字符,因此它们之间没有Unicode单词边界,所以
\b{w}
不会。@Xiangyu.Wu
\b
的行为就像一个环顾,它是一个0宽度的断言PCRE确实有能力匹配Unicode边界,但它不支持这种语法:在我所知道的所有引擎中,
\b{w}
将匹配单词字符后的三个字符
{w}