希望您能帮我格式化正确的RegEx。
我想:
1)将所有流量包括在domain.com(。*)
中2)将所有流量包含在特定URI sub.extdomain.com/folder(..*)
中一些例子:
包括:
排除:
已尝试过以下内容,但仍包含子域名:
(domain\.com|sub\.domain\.com/folder(.*)|sub\.domain\.com/folder(.*))
答案 0 :(得分:1)
正则表达式/domain\.com/
将匹配任何子域,因为它将匹配部分字符串。
使用/^domain\.com/
仅捕获以“domain.com”开头的字符串(无子域)。
请注意,这假设您从网址(http://)中删除了协议。
您发布的RegEx的第二部分与第三部分相同 - 我假设您的意思是两个特殊情况 - 他们也需要“^”开头
最后不需要(。*) - 如果没有它,它将匹配部分字符串。
(^domain\.com|^hello\.domain\.com\/bonjur|\^bye.extdomain\.com\/folder(.*))
解释 - 接受
^domain\.com
- 所有以“domain.com”开头的网址(无子域名)^hello\.domain.com
- 所有以子域名“hello.domain.com”开头的网址\^bye.extdomain\.com
- 所有以“bye.extdomain.com”开头的网址可选 - 因为所有3个组件都以相同的方式启动,您可以提取公共前缀^
:
^(domain\.com|hello\.domain\.com\/bonjur|bye\.extdomain\.com\/folder2)
请参阅此网站以获取有关正则表达式的帮助:http://www.regexper.com/#%5E(domain%5C.com%7Chello%5C.domain%5C.com%5C%2Fbonjur%7Cbye%5C.extdomain%5C.com%5C%2Ffolder2)
答案 1 :(得分:0)
我在正则表达式的开头添加了一个“^”,要求字符串以domain.com开头。 在第二个条款中,它允许domain.com之后的文件夹。 第三个子句允许子域上的任何内容,如果它具有“/”后跟一些文本。
(^domain\.com$|^domain\.com\/\w*|\w*\.domain\.com\/\w*)
答案 2 :(得分:0)
我建议使用这个正则表达式:
'#\b(?:domain\.com|hello\.domain\.com/bonjour|bye\.extdomain\.com/aurevoir/salut)\b#i'