我正在使用以下代码检查所有字符均为大写字母的字符串:
if (preg_match('/^[\p{Lu}]+$/', $word)) {
这对英语很有用,但无法检测带有重音符号的字母、俄语字母等。\p{Lu} 是否应该适用于所有语言?有没有更好的方法?
最佳答案
一个特殊的选项是/u,它打开 Unicode 匹配模式,而不是默认的 8 位匹配模式。您应该为使用\x{FFFF}、\X 或\p{L} 的正则表达式指定/u 以匹配 Unicode 字符、字素、属性或脚本。 PHP 会将“/regex/u”解释为 UTF-8 字符串而不是 ASCII 字符串。
关于php - 如何判断非英文字符串是否为大写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5749934/