我想使用 JavaScript 从 href 中删除所有以正斜杠开头的内容。
此代码段从 href 中删除以散列开头的所有内容:
var url = this.href.replace(/#.*/,'');
如何修改它以删除以正斜杠开头的所有内容?
最佳答案
也许你想要像 /(\/\/[^\/]+)?\/.*/
这样的东西,然后保留第一个捕获,如果有的话..
'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 中,捕获组一是
"http://stackoverflow.com/questions/"
^-------$1--------^
关于javascript - 从 URL 替换正斜杠后的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16884753/