因此,诈骗者正在使用这种形式的消息向我们的用户群发消息 (𝕀 𝕒𝕞 𝕧𝕖𝕣𝕪 𝕚𝕟𝕥𝕖𝕣𝕖𝕤𝕥𝕖𝕕。(𝟞𝟟𝟠) -
我的问题:
他们使用的字符,𝔸(数学双击 A (U+1D538))-𝕫(数学双击 z (U+1D56B))是 unicode 字符的一部分,而不是单独的字体。
如果您在编写正则表达式时没有考虑特殊的 unicode 字符,那么它们将不会捕获这些字符,因为简单的
/\w/
不会匹配任何这些字符,除非您还指定显式匹配 unicode(通常带有标志 /u
at表达式结尾)。
同样,
/A/
不会匹配"𝔸"
,因为它们是不同的字符,并且该模式仅匹配该特定字符。
为了不必考虑每种可能的方式来表示相似的字符,您可以在对它们运行正则表达式之前标准化您的unicode,这样可以保证一致的表示,并且您将有更轻松的时间编写与更广泛的文本匹配的表达式。