匹配url的pcre(php)正则表达式


pcre(php) regular expression to match url

我正在项目中进行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上的这个演示来检查一下。