Javascript 正则表达式-如何选择除后跟冒号之外的所有双斜杠
我需要一些关于正则表达式的帮助,这可能是一个基本的东西,但我找不到正确的方法来做。请帮忙 所以,我的问题是: 我有一个URL列表,由于双斜杠,这些URL无效,如下所示:Javascript 正则表达式-如何选择除后跟冒号之外的所有双斜杠,javascript,regex,Javascript,Regex,我需要一些关于正则表达式的帮助,这可能是一个基本的东西,但我找不到正确的方法来做。请帮忙 所以,我的问题是: 我有一个URL列表,由于双斜杠,这些URL无效,如下所示: http://website.com//wp-content/folder/file.jpg,要修复它,我需要删除所有的双斜杠,除了第一个后跟冒号(http://),所以固定URL是:http://website.com/wp-content/folder/file.jpg 我需要用RegExp来做 变体1 url.replac
http://website.com//wp-content/folder/file.jpg
,要修复它,我需要删除所有的双斜杠,除了第一个后跟冒号(http://
),所以固定URL是:http://website.com/wp-content/folder/file.jpg
我需要用RegExp来做
变体1
url.replace(//\//\//g,'/');//=>http://website.com/wp content/folder/file.jpg
将替换所有双斜杠(/
),包括第一个不正确的双斜杠
示例如下: 您可以使用
url = url.replace(/(https?:\/\/)|(\/){2,}/g, "$1$2")
见
注意:如果字符串是完整的URL,则可以使用模式开头的^
锚定
此模式将匹配并捕获http://
或https://
,并将其还原为带有$1
反向引用的结果字符串,并且所有其他2个或更多/
的情况将由(\/){2,}匹配
,由于捕获组不包括量词,因此只会将1个匹配项放回结果字符串。查找(^ |[^:])/{2,}
更换
$1/
分隔:
/(^ |[^:])\/{2,}/
“我需要用RegExp来做”:恐怕每次我读到这篇文章时都会这样。为什么需要使用正则表达式执行此操作?是否可以假设列表中没有URL具有“?”或“#”字符?