我無法在PHP中使用正則表達式。我使用的正規表達式模式i
標誌,但它不使我的腳本的結果的影響:無法在PHP中使用不區分大小寫的正則表達式
$page = "Test";
$page1 = "test";
var_dump(preg_match("#^test#i", $page));
// int(0)
var_dump(preg_match("#^test#i", $page1));
// int(1)
我真的無法實現,在這裏我犯了一個錯誤,請大家幫忙。
我無法在PHP中使用正則表達式。我使用的正規表達式模式i
標誌,但它不使我的腳本的結果的影響:無法在PHP中使用不區分大小寫的正則表達式
$page = "Test";
$page1 = "test";
var_dump(preg_match("#^test#i", $page));
// int(0)
var_dump(preg_match("#^test#i", $page1));
// int(1)
我真的無法實現,在這裏我犯了一個錯誤,請大家幫忙。
如果你想檢查大小寫敏感的,你必須刪除i
:
$page = "Test";
$page1 = "test";
var_dump(preg_match("/^test/", $page)); // int(0)
var_dump(preg_match("/^test/", $page1)); // int(1)
如果你想查詢個案我 nsensitive你必須添加i
:
$page = "Test";
$page1 = "test";
var_dump(preg_match("/^test/i", $page)); // int(1)
var_dump(preg_match("/^test/i", $page1)); // int(1)
我想你的代碼上3v4l.org,它看起來對大多數PHP版本好:https://3v4l.org/5UeCu
該代碼在PHP 7.1.2和5.3.4中爲兩行返回「int(1)」。要麼你運行的是PHP版本,其中preg_match有bug,或者你的兩個preg_match表達式中有一個看不見的控制字符,而你根本看不到它。
我建議你3v4l.org。您可以在許多版本的PHP上測試代碼:https://3v4l.org/5UeCu –
這些都爲我返回1。對於慣例,你應該使用'/'而不是'#' – Jaime
謝謝,使用'/'很有幫助。但是現在,當我嘗試搜索2個俄語單詞時,使用相同的方案,它再次返回int(0)。例如,在'ОдинДва'字符串中搜索'/одиндва/ i'會返回int(0)。 – Ortophius