小编Che*_*jyg的帖子

如何使用javascript正则表达式从字符串中获取域

正如标题所示,我正在尝试使用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"
Run Code Online (Sandbox Code Playgroud)

我已经读过 "Regex找到没有www的域名 - Stack Overflow""从字符串中提取根域名 - Stack Overflow" 但它们太复杂了,所以我尝试编写自己的正则表达式:

var re = new RegExp("[\\w]+[\\.\\w]+");
/[\w]+[\.\w]+/
re.exec(document.URL);
Run Code Online (Sandbox Code Playgroud)

它工作正常"google.com","www.google.com""www.google.com.sg"而是返回http"http://google.com/","http://www.google.com/"

由于我是正则表达的新手,我似乎无法弄清楚出了什么问题......任何想法?

提前致谢!

javascript regex string string-matching capturing-group

2
推荐指数
1
解决办法
2115
查看次数