我无法在php中创建一个正常的regexp。我在regexp模式下使用i
标志,但它不会对我的脚本结果产生影响:
$page = "Test";
$page1 = "test";
var_dump(preg_match("#^test#i", $page));
// int(0)
var_dump(preg_match("#^test#i", $page1));
// int(1)
我真的无法意识到,在我犯了错误的地方,请帮助。
答案 0 :(得分:2)
如果您想检查区分大小写,则必须删除i
:
$page = "Test";
$page1 = "test";
var_dump(preg_match("/^test/", $page)); // int(0)
var_dump(preg_match("/^test/", $page1)); // int(1)
如果你想检查案例 - 我敏感,你必须添加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
答案 1 :(得分:0)
在PHP 7.1.2和5.3.4中,该代码返回两行的“int(1)”。您运行的是preg_match有错误的PHP版本,或者您的两个preg_match表达式中有一个看不见的控制字符,而您根本看不到它。