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

时间:2015-02-23 12:39:43

标签: php regex url

我正在研究项目中的搜索引擎优化事项以匹配可能的网址中的最佳网址,所以 我正在尝试使用url pattern

中的preg_match()函数匹配请求网址

任何人都可以帮我创建正则表达式,只匹配所有网址中的特定网址,我是正则表达式的新手,请看我的东西

关注 3 网址

  

1)。 http://domain.com/pressrelease/index/1
  2)。 http://domain.com/pressrelease/123
  3)。 http://domain.com/pressrelease/blah

我想匹配2,3个网址,index/(:num)之后网址不包含pressrelease

我创建了这个正则表达式,但它不起作用

(\/pressrelease\/)+((?!index).)*$

2 个答案:

答案 0 :(得分:1)

由于您正在将正则表达式传递给preg_match,因此以下正则表达式会没问题。

\/pressrelease\/(?!index\/\d+\b).*

DEMO

(?!index\/\d+\b)否定前瞻断言,断言匹配/pressrelease/后面不会跟index/number格式的字符串一样。

答案 1 :(得分:0)

它实际上有效,但它与URL的第一部分不匹配。

^.*\/pressrelease\/(?!index).*$

Rubular上查看此演示进行检查。