regex - 使用正则表达式从 URL 中提取顶级域和二级域

标签 regex url dns

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

最佳答案

此外,您可以使用类似于以下的表达式来做到这一点,

^(?:https?:\/\/)(?:w{3}\.)?.*?([^.\r\n\/]+\.)([^.\r\n\/]+\.[^.\r\n\/]{2,6}(?:\.[^.\r\n\/]{2,6})?).*$
并添加尽可能多的要捕获 URL 组件的捕获组。
Demo

如果您想简化/修改/探索表达式,在 regex101.com 的右上角面板中已对此进行了说明。 .如果您愿意,也可以在this link 观看,它将如何匹配一些样本输入。

正则表达式电路
jex.im可视化正则表达式:
enter image description here

关于regex - 使用正则表达式从 URL 中提取顶级域和二级域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21173734/

相关文章:

javascript - 如何在空格而不是引号之间拆分?

java - 我需要根据正则表达式模式对名称进行排序,我该怎么做?

python - 使用 're' 从字符串中提取列表

jQuery + Ajax 哈希/历史记录等

javascript - 在跨域中创建安全的 iframe

c++ - 使用QT进程使用命令行从笔记本电脑获取传感器信息

XML::LibXML 问题查找具有命名空间的 XML 节点

email - 来自非安全服务器的 HTTPS 重定向在浏览器中给出错误消息

Node.js:禁用 UDP DNS 查找并改用给定的 IP

amazon-ec2 - 无法访问该站点的Amazon Ec2