【问题标题】:Extract subdomain from url using regex使用正则表达式从 url 中提取子域
【发布时间】:2013-09-11 13:24:17
【问题描述】:

我在这里搜索了所有相关主题,但似乎没有一个能满足我的特定需求。问题是:给定一个 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)]

【问题讨论】:

    标签: asp.net regex subdomain


    【解决方案1】:

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

    你可以试试这样的:

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

    regex101 demo

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

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

    regexp101 revised

    【讨论】:

    • 感谢 Jerry,但这仍然与“subdomain.domain.com”的“domain.com”部分匹配。我应该在原始帖子中指定“匹配”而不是“返回” - 我现在将对其进行编辑。
    • @fatman45 哦,当然,只需将第二部分变成积极的前瞻。我更新了我的答案:)
    猜你喜欢
    • 1970-01-01
    • 2018-08-21
    • 1970-01-01
    • 1970-01-01
    • 2018-01-04
    • 1970-01-01
    • 2014-10-31
    • 2015-09-27
    • 1970-01-01
    相关资源
    最近更新 更多