我在数据库上设置了一个要传递给preg_match的正则表达式模式,但它可以为空,从而导致//
并将其传递给preg_match
,其中任何字符串都匹配。
例如:
$m = preg_match( '//', 'something' );
echo $m
// output: 1
为什么会出现这种行为,以及如何解决?
答案 0 :(得分:3)
模式//
对可匹配的内容没有任何限制,因此一切都匹配。
您可以使用模式/^$/
(字符串的开头紧跟字符串的结尾)。
您可以测试您传递的模式,看它是否为//
。