javascript正则表达式或字符串方法只匹配子域和域(减去顶级)

时间:2017-07-24 12:29:16

标签: javascript regex

在浏览器中,我想知道我所在页面的子域名和域名是什么,减去最高级别,例如' com'和' .co.uk'。

此外,如果子域名是' www'我不想要那场比赛。

示例:

https://www.voice-1.mozilla.co.uk/folder/index.html
https://www.voice-1.mozilla.org.uk/folder/index.html
http://www.voice-1.mozilla.com/folder/index.html
http://www.voice-1.mozilla.com:8080/folder/index.html

将全部包含匹配项voice-1mozilla

不必维护顶级域名会很好,但保持www的不同变体是可以的。

到目前为止,我已经跳过comco.uk而不是wwworg.uk,而不是.之前的其他任何内容文件路径:regex-test

正则表达式现在是:

/[\w\-]{3,}(?=[.])/g

如何实现这一目标?

修改 在正则表达式之后执行一步,在www中删除不需要的coco.ukorg中的org.uk是可以的。但是我仍然需要在文件路径中的.之前删除顶级和其他任何内容。基本上抓取//和第一/之间的所有内容,但顶级域名除外。

1 个答案:

答案 0 :(得分:1)

我设法获得了this。摆脱了wwwindex

\.([\w\-]{3,})(?=[\.])

如果允许使用字符串方法,您可以尝试这样的方法。

str = 'https://www.voice-1.mozilla.co.uk/folder/index.html'
arr = str.split('/')
result = arr[2].split('.')

您将在result中单独获取每个部分。您需要检查第一个元素(是www或不是),最后两个元素(检查长度和内容)相同。我不认为你可以在这里使用任何模式。