PHP preg_match返回false

时间:2013-01-10 14:53:47

标签: php regex

我在http://gskinner.com/RegExr/中尝试了这种正则表达式语法,似乎运行良好。

^[a-z0-9-]+.([a-z]{2,4})$

目的是匹配域名(不包含http或https)

所以我使用preg_match( '/^[a-z0-9-]+.([a-z]{2,4})$/g', 'fathi-hadi.net' ) 但总是返回false

我不知道为什么

1 个答案:

答案 0 :(得分:2)

当您启用错误报告时,您会注意到preg_match不支持g修饰符:

  

警告:preg_match()[function.preg-match]:未知修饰符'g'

所以放弃并使用:

preg_match('/^[a-z0-9-]+\.([a-z]{2,4})$/', 'fathi-hadi.net');

那将匹配。我还结合了Gerald Schneider关于逃避点的评论,这是一个很好的观点。