我有这两种模式,删除替换中的多个连字符或下划线,并用一个替换它们,但看到那里,基本相同,我很好奇,如果我可以将它们组合成一个模式。
url = url.replace(/([-]+)/g, '-');
url = url.replace(/([_]+)/g, '_');
我相信实际模式只是/([-_])/g
,但我不知道如何判断它是否应该用连字符或下划线代替。
答案 0 :(得分:3)
您可以使用反向引用:
url = url.replace(/([-_])\1+/g, '$1');
答案 1 :(得分:-1)
管道(|
)运算符是OR函数。你能试试吗?
url = url.replace(/([-|_]+)/g, '-');
答案 2 :(得分:-1)