php - 如何判断非英文字符串是否为大写?

标签 php regex pcre

我正在使用以下代码检查所有字符均为大写字母的字符串:

        if (preg_match('/^[\p{Lu}]+$/', $word)) {

这对英语很有用,但无法检测带有重音符号的字母、俄语字母等。\p{Lu} 是否应该适用于所有语言?有没有更好的方法?

最佳答案

一个特殊的选项是/u,它打开 Unicode 匹配模式,而不是默认的 8 位匹配模式。您应该为使用\x{FFFF}、\X 或\p{L} 的正则表达式指定/u 以匹配 Unicode 字符、字素、属性或脚本。 PHP 会将“/regex/u”解释为 UTF-8 字符串而不是 ASCII 字符串。

http://www.regular-expressions.info/php.html --

关于php - 如何判断非英文字符串是否为大写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5749934/

相关文章:

c++ - 如何将 pcre_study 与 pcrecpp 一起使用?

php - foreach 在 HTML 中创建重复表

javascript - 将动词表数据导入 html/css 表

Laragon 下的 PHP - SSL 操作失败,代码为 1

regex - _实际_ Twitter 主题标签格式?不是你的正则表达式,不是他的代码——真正的?

php - 正则表达式 : Match 1 to 60 or all

javascript - 正则表达式:如何重复模式匹配?

php - CSS菜单上PHP子菜单的事件/当前链接

php - 正则表达式 int 或 float

php - 匹配包含两个 "needles"的字符串