这个正则表达该如何写

新手入门、经验交流

Moderator: cre

Forum rules
  • 软件自带帮助是最好的入门教程,请仔细阅读;在您掌握最基本知识前,我们没法帮助您
  • 提问前请先查阅软件帮助文件和论坛相关讨论
  • 查阅软件帮助和论坛相关讨论即可解决的问题帖将直接删除,以免浪费他人时间
  • 请学会如何提问,尽量将问题描述清楚,不明确的提问将被直接删除
Post Reply
red
Posts: 99
Joined: Mar 09 2010, 16:25

这个正则表达该如何写

Post by red »

想进行这样的header match,匹配example.com/的二级域名及子域名,包括三级及以下域名,比如ab.example.com/或ab.cd.example.com/

Code: Select all

([^.]+.|)example.com/
匹配abc.example.com/

Code: Select all

([^.].|)+example.com/
匹配a.b.example.com/,但不匹配ab.c.example.com/

Code: Select all

([^.]+.|)+example.com/
什么都不匹配了
不夜侯
Posts: 101
Joined: Jul 29 2009, 16:22

Re: 这个正则表达该如何写

Post by 不夜侯 »

[^/]++.example.com/
red
Posts: 99
Joined: Mar 09 2010, 16:25

Re: 这个正则表达该如何写

Post by red »

其实我顶楼的要求漏了点 :cry:
example.com/也想匹配,因此在()内加|
看到++受启发,自己依样写了如下2个,现在能够匹配example.com/以及二,三级域名

Code: Select all

[^/]++example.com/ 

Code: Select all

([^.]+.|)++example.com/
Bonnie
Moderator
Posts: 165
Joined: Oct 05 2008, 01:27

Re: 这个正则表达该如何写

Post by Bonnie »

第一个会误匹配www.badexample.com/,不过如果example不是很普遍的话倒是关系不大。
第二个的|没用的。
red
Posts: 99
Joined: Mar 09 2010, 16:25

Re: 这个正则表达该如何写

Post by red »

再问个不包含的正则写法。URL Match :匹配example.com/的二级域名及子域名,包括三级及以下域名,比如ab.example.com/或ab.cd.example.com/,但是排除a.example.com与b.example.com
Bonnie
Moderator
Posts: 165
Joined: Oct 05 2008, 01:27

Re: 这个正则表达该如何写

Post by Bonnie »

用"~"加白名单?
red
Posts: 99
Joined: Mar 09 2010, 16:25

Re: 这个正则表达该如何写

Post by red »

白名单可能不可行

Code: Select all

([^.]+.)++example.com/
~([^.]+.)++a.example.com/
~([^.]+.)++b.example.com/
是想用在proxy list里,a.example.com与b.example.com不用proxy可直达,除此之外的匹配example.com/的二级域名及子域名都需要proxy
User avatar
phoenix
Site Admin
Posts: 526
Joined: Dec 29 2007, 16:27

Re: 这个正则表达该如何写

Post by phoenix »

Code: Select all

(^a.|b.)[^/]++.example.com
Post Reply