正则表达式模式 /[^[:ascii:]]+/ui
将匹配一个或多个非 ascii 字符。
正则表达式模式 /[\p{L}]+/ui
将匹配 unicode“字母”类中的一个或多个字符。
我无法找到一种方法来匹配 unicode 'letter' 类中的一个或多个字符并且不是 ASCII 字符。
最佳答案
您可以像这样使用否定字符类:
[^\P{L}[:ascii:]]+
这将匹配 1+ 个非 ASCII 且与 \P{L}
不匹配的字符(\p{L}
的逆)
或者,您可以在非捕获组中使用负前瞻:
(?:(?![[:ascii:]])\p{L})+
关于php - 组合正则表达式字符类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72506414/