替换所有条件好像基于的preg_match使用ANY
preg_match('/^[\p{Cyrillic}]+$/', $str)
返回0或1,如果$str
包含ALL西里尔字母。
我需要0或1的基础上如果$str
包含任何西里尔字母。
谢谢。
替换所有条件好像基于的preg_match使用ANY
preg_match('/^[\p{Cyrillic}]+$/', $str)
返回0或1,如果$str
包含ALL西里尔字母。
我需要0或1的基础上如果$str
包含任何西里尔字母。
谢谢。
您可以使用:
$ret = preg_match('/\p{Cyrillic}/u', $str);
推测,如果输入的字符串中包含任何Cyrillic
字符或没有。需要使用/u
标志来处理unicode字符串输入。
或者使用mb_ereg
function多字节正则表达式匹配这样的:
$str = 'БДКЯ'; // string with Cyrillic characters only
// check with Cyrillic string only
var_dump(mb_ereg('\p{Cyrillic}', $str)); // int(1)
// check with mix of Cyrillic and ASCII characters
var_dump(mb_ereg('\p{Cyrillic}', $str . 'abc')); // int(1)
// check with ASCII characters only
var_dump(mb_ereg('\p{Cyrillic}', 'abc')); // bool(false)
锚^
和$
强制{Cyrillic}
字符匹配从字符串的开头到结尾,所以删除它们。另外,也没有必要的字符类[]
和+
,因为你正在寻找任何比赛:
/\p{Cyrillic}/