javascript - 用于匹配 URL 的每个子域的正则表达式

标签 javascript regex subdomain

我正在尝试编写一个正则表达式,将 URL 的子域/域部分提取为单独的字符串。

我已经试过了:

/^[^:]+:\/\/([^\.\/]+)(\.[^\.\/]+)+(?:\/|$)/

它应该适用于这些 URL:

http;//www.mail.yahoo.co.uk/blah/blah

http;//test.test.again.mail.yahoo.com/blah/blah

我想把它分解成这样的部分:

["http://", "www", ".mail", ".yahoo", ".co", ".uk"]

["http://", "test", ".test", ".again", ".mail", ".yahoo", ".com"]

现在我只能将它们捕获为:

["http://", "www", ".uk"]

["http://", "test", ".com"]

有人知道如何修复我的正则表达式吗?

最佳答案

您可以使用 /(http[s]?:\/\/|\w+(?=\.)|\.\w+)/gTest it online

关于javascript - 用于匹配 URL 的每个子域的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45767286/

相关文章:

javascript - 单击包含的元素也会有效地(但错误地)单击其容器

php - 当用户单击提交按钮时,如何防止退出时出现 JavaScript 警报

javascript - 将表单输入值传递给 react 中的方法

azure - Azure 的通配符子域重定向

javascript - 如何仅保存添加数据的记录而不保存所有记录

regex - VB.NET 如何检查字符串是否包含字母字符和.?

c# - 在 C# 中使用 Regex 比较两个不同的文件夹

javascript - 用于在特定内容后查找多个空格的正则表达式

jquery - 使用 Jquery 和 IFrame 进行跨子域请求(GET、POST...)

javascript - jQuery - 删除子域或 www?