Php Rapidshare URL不正确匹配
我试图确保当用户通过我的表单提交Rapidshare URL时,它是有效的 这是我到目前为止提出的正则表达式:Php Rapidshare URL不正确匹配,php,regex,preg-match,Php,Regex,Preg Match,我试图确保当用户通过我的表单提交Rapidshare URL时,它是有效的 这是我到目前为止提出的正则表达式: http://rapidshare.com/files/[0-9]+/[a-zA-Z0-9\._-]+ rapidshare链接如下所示: http://rapidshare.com/files/168501977/some_random-file.zip 我的模式匹配,但不完全正确。例如,如果我们使用此输入: http://rapidshare.com/files/1685019
http://rapidshare.com/files/[0-9]+/[a-zA-Z0-9\._-]+
rapidshare链接如下所示:
http://rapidshare.com/files/168501977/some_random-file.zip
我的模式匹配,但不完全正确。例如,如果我们使用此输入:
http://rapidshare.com/files/168501977/some_random-file.zip£%^$
它仍将使用PHP函数preg_match()
进行匹配,并让它通过,即使URL末尾有非法符号。我希望模式匹配整个输入,而不仅仅是匹配的随机长度
任何帮助都将不胜感激,干杯 您需要锚定正则表达式模式。使用
^
锚定开始,使用$
锚定结束。因此,模式变成:
^http://rapidshare.com/files/[0-9]+/[a-zA-Z0-9\._-]+$
这将防止与示例生成的字符串部分匹配。使用
^
和$
验证字符串的开头和结尾。示例:^ht{2}p:\/{2}rapidshare\.com\/files\/\d+\/[\.a-zA-Z-]+$
您不需要转义//code>?所以[0-9]+/
将变成[0-9]+\/
。