替換所有條件好像基於的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}/