我想使用JavaScript从href中删除以正斜杠开头的所有内容。
此代码段从href中删除以散列开头的所有内容:
var url = this.href.replace(/#.*/,'');
如何修改它以删除以正斜杠开头的所有内容?
答案 0 :(得分:6)
也许你想要/(\/\/[^\/]+)?\/.*/
这样的东西,然后保留第一次捕获,如果有的话......
'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"
(pattern)?
表示可选的捕获组
\/\/
表示匹配//
[^\/]+
表示匹配一个或多个连续的非/
\/
表示现在匹配/
.*
匹配几乎所有其他内容
$1
表示捕获组1,如果为空,则会给出一个空字符串。
在此RegExp中,捕获组1将是
"http://stackoverflow.com/questions/"
^-------$1--------^