Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 正则表达式-如何选择除后跟冒号之外的所有双斜杠_Javascript_Regex - Fatal编程技术网

Javascript 正则表达式-如何选择除后跟冒号之外的所有双斜杠

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

我需要一些关于正则表达式的帮助,这可能是一个基本的东西,但我找不到正确的方法来做。请帮忙

所以,我的问题是:

我有一个URL列表,由于双斜杠,这些URL无效,如下所示:
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具有“?”或“#”字符?