0

我有这个正则表达式

\b(t[úu]s*)\b

我有这句话:

你(作品)
tú(不起作用)
tus(作品)
tús(作品)

为什么我不能匹配

4

2 回答 2

3

如果正则表达式不匹配,则这两个字符不同。

“带有锐音的 u”可以表示为单个字符ú(U+00FA) 或通过将u(U+0075) 与组合的锐音重音字符 (U+0301) 组合来表示,这给出了类似的外观ú

您必须转换输入字符串或在正则表达式中包含这两种变体,有关详细信息,请参阅http://www.regular-expressions.info/unicode.html

于 2013-03-27T13:20:51.100 回答
2

为什么那个表达式不匹配

该表达式不匹配,因为\b似乎无法识别ú为单词字符,因此在非单词字符之间使用时会失败。

你可以改用这样的东西:

/(?<!\p{L})(t[úu]s*)(?!\p{L})/u

\p{L}匹配一个 unicode 字母。

于 2013-03-27T14:00:40.613 回答