如何使用正则表达式从 URL 中仅提取顶级域和二级域?我想跳过所有较低级别的域。有任何想法吗?
最佳答案
此外,您可以使用类似于以下的表达式来做到这一点,
^(?:https?:\/\/)(?:w{3}\.)?.*?([^.\r\n\/]+\.)([^.\r\n\/]+\.[^.\r\n\/]{2,6}(?:\.[^.\r\n\/]{2,6})?).*$
并添加尽可能多的要捕获 URL 组件的捕获组。Demo
如果您想简化/修改/探索表达式,在 regex101.com 的右上角面板中已对此进行了说明。 .如果您愿意,也可以在this link 观看,它将如何匹配一些样本输入。
正则表达式电路
jex.im可视化正则表达式:
关于regex - 使用正则表达式从 URL 中提取顶级域和二级域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21173734/