我有这个正则表达式
\b(t[úu]s*)\b
我有这句话:
你(作品) tú(不起作用) tus(作品) tús(作品)
为什么我不能匹配tú?
如果正则表达式不匹配,则这两个字符不同。
“带有锐音的 u”可以表示为单个字符ú(U+00FA) 或通过将u(U+0075) 与组合的锐音重音字符 (U+0301) 组合来表示,这给出了类似的外观ú。
您必须转换输入字符串或在正则表达式中包含这两种变体,有关详细信息,请参阅http://www.regular-expressions.info/unicode.html。
为什么那个表达式不匹配
tú?
该表达式不匹配tú,因为\b似乎无法识别ú为单词字符,因此在非单词字符之间使用时会失败。
你可以改用这样的东西:
/(?<!\p{L})(t[úu]s*)(?!\p{L})/u
\p{L}匹配一个 unicode 字母。