【问题标题】:Regex: get subdomain or domain but not www正则表达式:获取子域或域但不是 www
【发布时间】:2018-05-16 17:10:38
【问题描述】:

我正在尝试创建一个捕获子域而不是 www 或域的正则表达式。

所以,应该可以匹配 client.com => 客户 subdomain.client.com => 子域 www.client.com => 客户

但是我在通过前瞻消除可选的 www 时遇到了一些麻烦。

目前,我有这个:

/((?!www)([^\.]+)\.)?([^\.]+)\.(?:(co?|nl|be|fr|de|es|it|pt|gov|org)).*/

https://regex101.com/r/d4qPNV/2

但我似乎无法消除 www 捕获。有什么建议吗?

【问题讨论】:

    标签: javascript regex


    【解决方案1】:

    ((?!w+)([^\.]+)\.)?([^\.]+)\.(?:(co?|nl|be|fr|de|es|it|pt|gov|org)).*

    如果您不关心排除“wwwwww”等子域。

    ([^w{3}+]+\.)?([^\.]+)\.(?:(co?|nl|be|fr|de|es|it|pt|gov|org)).*

    如果你真的只希望它排除“www”。

    【讨论】:

    • 我目前正在使用 ^(?:(?!w{3})([^.]+)\.)(?:([^.]+)\.)?([^.]+)\.(?:(com?\.[a-z]{2}|[a-z]{2,3}))$ 匹配 client.mydomain.com => client client.acc.mydomain.com => client www.mydomain.com => mydomain 它没有捕获 mydomain 并使其成为可选:^(?:(?!w{3})([^.]+)\.)?(?:([^.]+)\.)?([^.]+)\.(?:(com?\.[a-z]{2}|[a-z]{2,3}))$ 使其捕获 www
    猜你喜欢
    • 1970-01-01
    • 2018-04-24
    • 2014-10-31
    • 1970-01-01
    • 2021-06-04
    • 1970-01-01
    • 2011-12-17
    相关资源
    最近更新 更多