帮助preg_match / regex

时间:2011-09-05 08:58:54

标签: php regex preg-match

我不知道正则表达式,所以请帮忙。对于以下代码:

$req_user = trim($_GET['user']);
if(!preg_match("^([0-9a-z])+$", $req_user)){
//do something ...
}

我收到此错误:注意:找不到结尾分隔符'^'。

2 个答案:

答案 0 :(得分:2)

在php中提供正则表达式时,需要在字符串的开头和结尾放置一个匹配的字符来分隔它。因此,抱怨是它在字符串的开头看到^,并假设它是分隔符,但最后没有匹配的字符。因此,你真的需要一个像

这样的字符串
"#^([0-9a-z])+$#"

在php中输入正则表达式时。

答案 1 :(得分:0)

$req_user = trim($_GET['user']); if(!preg_match("!^([0-9a-z])+$!", $req_user)){ //do something ... }

您必须在正则表达式的开头和结尾添加一个Char才能使其正常工作。 此char限制regexp区域。最后一次!你可以为case-ignore等添加修饰符。