我正在项目中进行SEO工作,以匹配可能的URL中的最佳URL,所以我正在尝试使用url模式中的preg_match()
函数匹配请求url
有人能帮我创建正则表达式,只匹配所有URL中的特定URL吗?我是正则表达式的新手,请看我的东西
以下3URL
1) 。http://domain.com/pressrelease/index/1
2) 。http://domain.com/pressrelease/123
3) 。http://domain.com/pressrelease/blah
我想匹配2,3
的URL,URL在pressrelease
之后没有包含index/(:num)
我创建了这个正则表达式,但它不起的作用
('/pressrelease'/)+((?!index).)*$
由于您将正则表达式传递给preg_match
,因此下面的正则表达式就可以了。
'/pressrelease'/(?!index'/'d+'b).*
演示
(?!index'/'d+'b)
否定前瞻断言,该断言断言匹配/pressrelease/
之后不会有类似index/number
格式的字符串。
它确实有效,但与URL的第一部分不匹配。
^.*'/pressrelease'/(?!index).*$
看看Rubular上的这个演示来检查一下。