当我尝试匹配一些用户输入代码时,我总是得到 0 作为返回值。
$input = $_POST['input'];
$look = '[a-zA-Z]';
preg_match($look,$input);
出于某种原因,我总是得到 0 作为返回值,为什么?
<?php
$input = $_POST['input'];
$look = '/^[a-zA-Z]/';
preg_match($look,$input);
?>
见手册
您的正则表达式中有几个问题:
`/[a-zA-Z]/'
+
修饰符来匹配超过 1 个字母preg_match
不使用行尾锚点可能会导致问题,并且您可能会从通话中得到误报。结合所有建议,您可以使用此正则表达式:
$look = '/^[a-zA-Z]+$/';
或者
$look = '/^[a-z]+$/i';