Php Url解析正则表达式
我正在使用以下代码:Php Url解析正则表达式,php,regex,Php,Regex,我正在使用以下代码: preg_match('%^(\w+)(/(\w+))?$%', $pathInfo, $matches); 解析url字符串。 有人能解释一下这个表达式解析什么吗? 因为它对/example非常有效,但对/example one或/example one来说,$matches不再有效[1]。谢谢 它不起作用,因为\w匹配字母数字字符加下划线。它将不匹配连字符和空格 简短的解决方案:将它们添加到字符类中,将\w转换为[\w-] 长解决方案:使用normal*special
preg_match('%^(\w+)(/(\w+))?$%', $pathInfo, $matches);
解析url字符串。
有人能解释一下这个表达式解析什么吗?
因为它对/example非常有效,但对/example one或/example one来说,$matches不再有效[1]。谢谢 它不起作用,因为\w匹配字母数字字符加下划线。它将不匹配连字符和空格
简短的解决方案:将它们添加到字符类中,将\w转换为[\w-]
长解决方案:使用normal*special normal**最小化回溯量,normal为\w,special为[-]:
另请参见语法教程,或strfriend.com以获得直观的解释。
%^(\w+(?:[- ]\w+)*)(/(?:\w+(?:[- ]\w+)*))?$%