首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过RegEx消除(多个)子域

问通过RegEx消除(多个)子域
EN

Stack Overflow用户
提问于 2016-06-03 21:18:34
回答 1查看 23关注 0票数 0

我试图从列表中删除(有时是多个)子域,所以我只剩下域名和TLD或ccTLD。

示例数据在..。

代码语言:javascript
复制
something1.something2.example.com
something3.something3.example.co.uk
www.example.net
random.something.else.example.cc

例如数据输出..。

代码语言:javascript
复制
example.com
example.co.uk
example.net
example.cc

我试过的..。

代码语言:javascript
复制
^.*(?!(?<=\.))\..*\.{2,3}$

有什么功能或者更好的方法来做到这一点吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-03 21:23:19

如果您只想匹配所讨论的数据,请不要从行的一开始就麻烦地进行匹配:

代码语言:javascript
复制
[^.]*(\.[^.]{2,3}){1,2}$

在regex101上试一试。

如果要替换行,请对所有行进行分组,并从行的开头选择所有内容:

代码语言:javascript
复制
^.*?([^.]*(\.[^.]{2,3}){1,2})$

然后用第一个反向引用替换。

在regex101上试一试。

请注意,没有办法将3个字母或更少的域名与ccTLD区分开来(除非您想将它们全部列出),因此它可能无法显示这些字母的正确数据。例如,与"this.may.bug.com“匹配的是"may.bug.com”,而不是预期的"bug.com“。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37623566

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档