【发布时间】:2015-03-03 20:56:04
【问题描述】:
我在使用正则表达式从 url 获取主域名时遇到问题。那就是如果我有下面给出的网址..
http://domain.com/return/java.php?hello.asp
http://www.domain.com/return/java.php?hello.asp
http://blog.domain.net/return/java.php?hello.asp
http://us.blog.domain.co.us/return/java.php?hello.asp
http://domain.co.uk
http://domain.net
http://www.blog.domain.co.ca/return/java.php?hello.asp
http://us.domain.com/return/
从这一切我应该只得到 domain 作为正则表达式的输出.. 那我该怎么做呢? 我用过;
var url = urls.match(/[^.]*.(com|net|org|info|coop|int|co\.uk|org\.uk|ac\.uk|uk)/g);
但它不适用于
http://domain.net
所以有人可以帮我解决这个问题。
【问题讨论】:
-
域可能以“/”或行尾结尾,所以“match(/[^.]*.(com|net|org|info|coop|int|co\.uk |org\.uk|ac\.uk|uk)(/|$)g)" 可能会起作用。
-
似乎工作正常,regex101.com/r/dL6nN7/2 和 jsbin.com/zanivonijo/1/edit?js,console 但我可能没有抓住重点?
-
@Fumu7: 你给的什么都行不通..
-
不要忘记
.的转义符号,因为它是[^.]*部分之后的特殊字符。 :) -
@SusanWilliams 你找到解决方案了吗,或者你还需要帮助吗? :)
标签: javascript regex url