我试图获取网址的域名。我可以运行一系列if语句来检查url包含的内容,但理想情况下我会使用正则表达式。
以下正则表达式^[^.]*:[\/]{0,2}[w]{0,3}[.]{0,1}[\w]*.[\w\W]*$
可以完成我想要的任务。
这适用于:
https://www.google.com
http://www.google.com
www.google.com
现在我只想从这个正则表达式中获取google.com
,但不确定如何做到这一点。
答案 0 :(得分:1)
参考@PM 77-1
的评论 RegExp.prototype.exec()
(mdn-docs)为您提供一个结果数组,其中每个索引对应于表达式中的»捕获组«:
var
input = 'Hello',
finder = /^(H)ell(o)/m,
match = finder.exec(input);
console.log(match) // ["Hello", "H", "o"]
索引0
是整个匹配项,每个后续项都是捕获组的结果,这些捕获组由正则表达式中的(…)
建立,并在表达式中从左到右排序。
答案 1 :(得分:-1)
如果我正确理解您的问题,
试试这个^([^.]*:[\/]{0,2}[w]{0,3}[.]{0,1}){0,1}[\w]*.[\w\W]*$
解释:
我决定将寻找协议的部分和www部分[^.]*:[\/]{0,2}[w]{0,3}[.]{0,1}
分组,并通过将其包装在括号(...)
中并添加0或1次子句将其分组在一起整个小组{0,1}