PCRE模式匹配到URL

时间:2014-07-04 12:28:29

标签: regex pcre

我正在尝试配置网站插件,需要为我网站上的某些网页设置PCRE网址格式。

我成功地使用以下模式排除某些页面。

^/wp-admin/
^/wp-login.php
^/content/

但是我还需要排除以下模式的页面

www.site.com/post_id/post_name/feed/
e.g. www.site.com/345345/myawesomepost/feed/

网址中唯一的静态组件是/ feed /是否有人知道如何使用PCRE表达式执行此操作..?

3 个答案:

答案 0 :(得分:0)

这样的东西应该匹配

^/.+/feed/

它只匹配以/ feed /

结尾的每个网址

答案 1 :(得分:0)

这就是我要用的:

/www.+\/feed\//gi

将匹配:

www.site.com/post_id/post_name/feed/
www.site.com/345345/myawesomepost/feed/

如果网址包含“http://”,则应将模式更改为:

/http.+\/feed\//gi

如果你确定'feed'永远不会包含大写字母,那么最后的'i'可以省略。

答案 2 :(得分:0)

要排除此类网址

Format:  www.site.com/post_id/post_name/feed/
Example: www.site.com/345345/myawesomepost/feed/

您可以考虑以下正则表达式:

^(?:\w+\.)+\w+/[0-9]+/\w+/feed/$

Regular expression visualization

Debuggex Demo

免间隔:

这是关于using regex to match urls的更全面和全面的答案,也可能是有意义的。


(以上所有链接均来自Stack Overflow Regular Expressions FAQ,位于“常见任务>验证>互联网”下。请考虑将常见问题解答加入书签以供日后参考。)