如何使用正则表达式从URL中仅提取顶级域和第二级域?我想跳过所有较低级别的域。有任何想法吗?
最佳答案
这是我的主意
使用$
锚点,从行尾匹配所有非点的内容三遍。
字符串末尾的最后一个匹配应该是可选的,以允许使用.com.au
或.co.nz
类型的域。
最后和倒数第二个匹配项只能匹配2-3个字符,因此不会将其与第二级域名混淆。
正则表达式:[^.]*\.[^.]{2,3}(?:\.[^.]{2,3})?$
示范:
Regex101 Example
如何使用正则表达式从URL中仅提取顶级域和第二级域?我想跳过所有较低级别的域。有任何想法吗?
最佳答案
这是我的主意
使用$
锚点,从行尾匹配所有非点的内容三遍。
字符串末尾的最后一个匹配应该是可选的,以允许使用.com.au
或.co.nz
类型的域。
最后和倒数第二个匹配项只能匹配2-3个字符,因此不会将其与第二级域名混淆。
正则表达式:[^.]*\.[^.]{2,3}(?:\.[^.]{2,3})?$
示范:
Regex101 Example