匹配URL模式的PHP正则表达式
我正在尝试用PHP构建一个正则表达式,以便匹配URL模式的PHP正则表达式,php,regex,preg-match,Php,Regex,Preg Match,我正在尝试用PHP构建一个正则表达式,以便 /test/randomstring1/randomstring2匹配 /test/randomstring1/randomstring2/匹配 /test/randomstring1/randomstring2/randomstring3不匹配 我想出了一个好主意 /test\/(.+?)\/.*[^\/]/ 它适用于前两种情况,但第三种情况也适用。 有人能帮我找出我丢失的东西吗? 谢谢 注意,匹配除换行符以外的任何字符*将匹配尽可能多的字符,
匹配/test/randomstring1/randomstring2
匹配/test/randomstring1/randomstring2/
不匹配/test/randomstring1/randomstring2/randomstring3
/test\/(.+?)\/.*[^\/]/
它适用于前两种情况,但第三种情况也适用。
有人能帮我找出我丢失的东西吗?
谢谢 注意,
匹配除换行符以外的任何字符<代码>*将匹配尽可能多的字符,而不是换行字符
你可以用
preg_match('~^/test/([^/]+)/([^/]+)/?$~', $text, $matches)
见
详细信息
-字符串的开头^
-文字子字符串/test/
-第1组:除([^/]+)
/
-a/
字符/
-第2组:除([^/]+)
/
-可选的/?
/
-字符串结束$
“~^/test/([^/]+)/([^/]+)/?$~”