我想使用JavaScript从href中删除以正斜杠开头的所有内容.
此代码段从href中删除以哈希开头的所有内容:
var url = this.href.replace(/#.*/,'');
Run Code Online (Sandbox Code Playgroud)
如何修改它以删除以正斜杠开头的所有内容?
也许你想要类似的东西/(\/\/[^\/]+)?\/.*/,然后保持第一次捕获,如果有的话......
'http://stackoverflow.com/questions/16884753/replace-from-url-etc'
.replace(/(\/\/[^\/]+)?\/.*/, '$1');
// "http://stackoverflow.com"
'stackoverflow.com/questions/16884753/replace-from-url-etc'
.replace(/(\/\/[^\/]+)?\/.*/, '$1');
// "stackoverflow.com"
Run Code Online (Sandbox Code Playgroud)
(pattern)?表示可选捕获组
\/\/表示匹配//
[^\/]+意味着匹配一个或多个连续非/
\/均值现在匹配/
.*匹配几乎所有其他
$1意味着捕获组1,如果这是空的,将给出一个空字符串.
在这个RegExp中,捕获组将是
"http://stackoverflow.com/questions/"
^-------$1--------^
Run Code Online (Sandbox Code Playgroud)