如何确定非英语字符串是否为大写?

时间:2011-04-21 21:23:50

标签: php regex pcre

我使用以下代码检查字符串,其中所有字符都是大写字母:

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

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

2 个答案:

答案 0 :(得分:6)

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

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

答案 1 :(得分:0)

使用函数u可以在字符串的大写字母中进行更改....    功能在这里:                   string name =“manish niitian”;                   console.Writeline(“你的大写字符串是:”+ name.UPPERCASE());