Javascript正则表达式:只用一个斜杠替换多个正斜杠

时间:2014-11-24 08:58:39

标签: javascript regex node.js

我有以下形式的文件名:/ folder / file.jpg我想通过删除任何额外的正斜杠来消毒。

例如:

'/tt////Images/WP1213.jpg' => '/tt/Images/WP1213.jpg' (example 1)

'///tt/Images/WP1213.jpg' => '/Images/WP1213.jpg'     (example 2)

我使用了以下正则表达式:myString.replace(/\/+/, "/") 但是,这不适用于示例1,它仅适用于示例2。

如何编写捕获示例2的正则表达式?

2 个答案:

答案 0 :(得分:5)

您需要转义正斜杠,并且还必须添加全局修饰符(g),以便替换将全局发生,否则它将仅替换第一个匹配。

myString.replace(/\/+/g, "/")

DEMO

答案 1 :(得分:2)

“多个”在正则表达式语言中为{2,}

myString.replace(/\/{2,}/g, "/");

http://regex101.com/r/qO5aO5/1

\/+效率较低,因为它也“替换”单斜杠。