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

pcre(php) regular expression to match url

我正在项目中进行 SEO 方面的工作,以匹配可能的 url 中最好的 URL,所以 我正在尝试使用 url 模式

中的 preg_match() 函数来匹配请求 url

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

以下 3 urls

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

我想匹配2,3urls,urls没有包含pressrelease

之后的index/(:num)

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

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

由于您将正则表达式传递给 preg_match,下面的正则表达式就可以了。

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

DEMO

(?!index\/\d+\b) 否定先行断言断言匹配 /pressrelease/ 后不会跟 index/number.

格式的字符串

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

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

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