php preg_match url正则表达式不工作
我无法使此函数正常工作:php preg_match url正则表达式不工作,php,regex,url,preg-match,Php,Regex,Url,Preg Match,我无法使此函数正常工作: function isValidURL($url){ return preg_match('%http://domain\.com/([A-Za-z0-9.-_]+)/([A-Za-z0-9.-_]+)%', $url); } 网址: http://domain.com/anything-12/anything-12/ 可以包含数字、字母和符号 我假设这与第一个正则表达式有关——因为这些都是有效的 http://domain.com/anything12/
function isValidURL($url){
return preg_match('%http://domain\.com/([A-Za-z0-9.-_]+)/([A-Za-z0-9.-_]+)%', $url);
}
网址:
http://domain.com/anything-12/anything-12/
可以包含数字、字母和符号
我假设这与第一个正则表达式有关——因为这些都是有效的
http://domain.com/anything12/anything12/
http://domain.com/anything12/anything-12/
http://domain.com/anything12/any-thing-12/
http://domain.com/anything_12/any-thing-12/
如往常一样,所有的帮助都会被提前感谢和感谢
-
'%^http://domain\.com/([A-Za-z0-9.\-_]+)/([A-Za-z0-9.\-_]+)/$%'
您可以通过注意[A-Za-z0-9.]
与\w
相同来缩短正则表达式,并且还有一个重复的子正则表达式
'%^http://domain\.com(/[\w.-]+){2}/$%'
-
'%^http://domain\.com/([A-Za-z0-9.\-_]+)/([A-Za-z0-9.\-_]+)/$%'
您可以通过注意[A-Za-z0-9.]
与\w
相同来缩短正则表达式,并且还有一个重复的子正则表达式
'%^http://domain\.com(/[\w.-]+){2}/$%'
我认为它必须是
(/[\w.-]+){2}
,因为OP似乎需要两个子表达式。嗯,它似乎在Google chrome或Safari中不起作用……有什么想法吗?(在FF和IE中运行良好)我认为它必须是(/[\w.-]+){2}
,因为OP似乎需要两个子表达式。嗯,它在Google chrome或Safari中似乎不起作用……有什么想法吗?(在FF和IE中工作正常)如果要验证url,为什么不使用filter\u var($url,filter\u validate\u url)
而不是正则表达式?或解析url()
。只是好奇。它需要匹配一个域而不是任何域。如果你想验证url,为什么不使用filter\u var($url,filter\u validate\u url)
而不是正则表达式?或解析url()
。只是好奇。它需要匹配单个域,而不是任何域。