【发布时间】:2014-10-08 23:52:30
【问题描述】:
正如标题所示,我正在尝试使用 javascript 正则表达式从字符串中检索域。
取以下字符串:
String ==> Return
"google" ==> null
"google.com" ==> "google.com"
"www.google.com" ==> "www.google.com"
"ftp://ftp.google.com" ==> "ftp.google.com"
"http://www.google.com" ==> "www.google.com"
"http://www.google.com/" ==> "www.google.com"
"https://www.google.com/" ==> "www.google.com"
"https://www.google.com.sg/" ==> "www.google.com.sg"
"https://www.google.com.sg/search/" ==> "www.google.com.sg"
"*://www.google.com.sg/search/" ==> "www.google.com.sg"
我已经阅读了"Regex to find domain name without www - Stack Overflow" 和"Extract root domain name from string - Stack Overflow",但是它们太复杂了,所以我尝试编写自己的正则表达式:
var re = new RegExp("[\\w]+[\\.\\w]+");
/[\w]+[\.\w]+/
re.exec(document.URL);
它适用于 "google.com"、"www.google.com" 和 "www.google.com.sg",但返回 http 和 "http://google.com/"、"http://www.google.com/" 等。
由于我是正则表达式的新手,我似乎无法弄清楚出了什么问题......有什么想法吗?
提前致谢!
【问题讨论】:
标签: javascript regex string string-matching capturing-group