javascript - 我如何在没有 www 的情况下匹配域名的根目录。使用正则表达式

标签 javascript regex match

我尝试用JS中的正则表达式匹配域名的根。当路径本身没有 www. 时,我遇到了问题。

例如,我尝试从这个字符串中匹配:

(http://web.archive.org/web/20080620033027/http://www.mrvc.indianrail.gov.in/overview.htm)

这就是我尝试的正则表达式,如下所示。我试穿 regex101.com

/(?<=(\/\/(www\.)|\/\/)).+?(?=\/)/g

我希望输出数组的名称为 web.archive.orgmrvc.indianrail.gov.in 但得到的是 web.archive.orgwww.mrvc.indianrail.gov.in 在第二种情况下带有 www.

最佳答案

这个正则表达式怎么样:

(?<=https?:\/\/(?:www\.)?)(?!www\.).+?(?=\/)

它匹配 web.archive.orgmrvc.indianrail.gov.in 而没有 www.

演示: https://regex101.com/r/5ZqK7n/3/

与初始正则表达式的区别:

  • 在你的积极回顾条款中,我有 s? 来支持 https: URL(如果不需要,请将其删除)
  • (?:www\.)?可以出现0到1次

  • 在lookbehind之后你添加了一个否定的lookahead (?!www\.)来不匹配,以避免你的.+?匹配初始的www.

关于javascript - 我如何在没有 www 的情况下匹配域名的根目录。使用正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55564597/

相关文章:

javascript - Chartjs 与 Vue,条形图边框半径不起作用

javascript - knockout.js - 将 <td> 添加到 <tr data-bind ="foreach: columns"> 生成的那些之前

c# - RegEx 解析 XML 文件并仅返回带有文件扩展名的 url

JavaScript 变量名正则表达式

null - 如何在Elasticsearch结果中允许空值?

javascript - 如何将现有的回调 API 转换为 Promise?

javascript - Jquery 脚本没有反应

regex - perl 中的正则表达式和重复字符类

java - 替换字符串中给出的最后一个字符

javascript - 匹配谷歌日历事件提要日期的正则表达式