如何使用正则表达式从URL中仅提取顶级域和第二级域?我想跳过所有较低级别的域。有任何想法吗?

最佳答案

这是我的主意

使用$锚点,从行尾匹配所有非点的内容三遍。

字符串末尾的最后一个匹配应该是可选的,以允许使用.com.au.co.nz类型的域。

最后和倒数第二个匹配项只能匹配2-3个字符,因此不会将其与第二级域名混淆。



正则表达式:

[^.]*\.[^.]{2,3}(?:\.[^.]{2,3})?$



示范:

Regex101 Example

08-25 22:08