如何使用Regex匹配域名和顶级域名(example.com) ?



我试图计算所有域example和扩展.com(又名。顶级域名),从一个文本,可以包括链接,但我完全失败,因为它匹配子域,也东西域是扩展有时。

目标:

https://www.subdomain.example.com/folder/folder  -> example.com
example.com/folder/folder                        -> example.com
www.subdomain.example.com/folder/folder          -> example.com
example.com                                      -> example.com
www.example.com                                  -> example.com
subdomain.example.com                            -> example.com

尝试1:

(?:(?:www?).)?b((xn--)?[a-z0-9]+(-[a-z0-9]+)*.)+[a-z]{2,}b

Regex演示

尝试2:

(?:(?:https?|ftp)://)?[w/-?=%.]+.[w/-&?=%.]+

Regex演示

像这样的东西可能会起作用或开始:https://regex101.com/r/1UMjML/1(稍微更新了正则表达式)

regex:(?<=https?://)(?:w+.)+(?<domain>w+.w+)[/s$]

一个简单的解决方案是匹配任何后跟tld的内容:

w+.com

regex101.com

然后你可以通过在开头和结尾填充你想要匹配的内容来使它更明确,例如:

(?:https://.*?)?(w+.com)

相关内容

  • 没有找到相关文章

最新更新