大侠帮我看看。我这段php那里那里错了.
if(preg_match("^[a-zA-Z][a-zA-Z0-9_]{4,15}$",$usernc))错误提示是:Warning:preg_match()[func...
if(preg_match("^[a-zA-Z][a-zA-Z0-9_]{4,15}$", $usernc ))
错误提示是:
Warning: preg_match() [function.preg-match]: No ending delimiter '^' found in C:\AppServ\www\drivingschool\chuser.php on line 4 展开
错误提示是:
Warning: preg_match() [function.preg-match]: No ending delimiter '^' found in C:\AppServ\www\drivingschool\chuser.php on line 4 展开
2个回答
展开全部
PHP的正则表达式除了需要是一个字符串外(你已经用双引号做到了),还要有开始和对应的结束的字符。这个字符似乎是任意的,只要前后一样并且表达式里没有用到就可以
例如
"/^[a-zA-Z][a-zA-Z0-9_]{4,15}$/"
"|^[a-zA-Z][a-zA-Z0-9_]{4,15}$|"
"#^[a-zA-Z][a-zA-Z0-9_]{4,15}$#"
"!^[a-zA-Z][a-zA-Z0-9_]{4,15}$!"
等。
而你的第一个第一个符号是^,PHP就去寻找结束的^但是没有找到,于是除了你写的那个错误。当然,这个时候^就不再代表字符串的开始了
这样做的目的是,通常正则表达式还需要修饰语法,例如
"/^[a-zA-Z][a-zA-Z0-9_]{4,15}$/Uis"
"/^[a-zA-Z][a-zA-Z0-9_]{4,15}$/i"
关于正则表达式的修饰语法,请参看PHP参考手册地址如下
例如
"/^[a-zA-Z][a-zA-Z0-9_]{4,15}$/"
"|^[a-zA-Z][a-zA-Z0-9_]{4,15}$|"
"#^[a-zA-Z][a-zA-Z0-9_]{4,15}$#"
"!^[a-zA-Z][a-zA-Z0-9_]{4,15}$!"
等。
而你的第一个第一个符号是^,PHP就去寻找结束的^但是没有找到,于是除了你写的那个错误。当然,这个时候^就不再代表字符串的开始了
这样做的目的是,通常正则表达式还需要修饰语法,例如
"/^[a-zA-Z][a-zA-Z0-9_]{4,15}$/Uis"
"/^[a-zA-Z][a-zA-Z0-9_]{4,15}$/i"
关于正则表达式的修饰语法,请参看PHP参考手册地址如下
参考资料: http://blog.everalan.com/80.html
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询