使用regex从url中提取子域

时间:2013-09-09 20:25:49

标签: asp.net regex subdomain

我在这里搜索了所有相关主题,但似乎没有人回答我的具体需求。这是问题:给定一个URL(无协议),我想提取子域部分,不包括www。域部分始终相同,因此我不需要支持所有TLD。例子:

www.subdomain.domain.com should match subdomain
www.domain.com should match nothing
domain.com should match nothing

这是我尝试过的众多迭代之一:

[^(www\.)]\w+[^(\.domain\.com)]

1 个答案:

答案 0 :(得分:2)

方括号表示字符类,将删除大多数字符的所有其他特殊含义的顺序。

您可以尝试这样的事情:

((?:[^.](?<!www))+)\.domain\.com

regex101 demo

要返回您要查找的内容,而不是通过子匹配检索它:

((?:[^.](?<!www))+)(?=\.domain\.com)

regexp101 revised