您好我无法更换五个“|||||”一个“|”。
var ss = "123|||||456|||||789|||||";
var ww = ss.replace(/[|||||]\W/g, "|");
我得到的输出是
123|||456|||789|||
我应该写的正确的RegEx是什么? 感谢。
答案 0 :(得分:3)
您可以执行以下操作:
var ss = "123|||||456|||||789|||||";
console.log(ss.replace(/[|]{5}/g, "|"));
如评论中所述,[]
定义了一个字符类,并匹配其中定义的任何字符。例如[a-z]
将匹配小写字母。
但是,由于您只需要匹配管道(|
)字符,您可以删除括号并将其转义为:
console.log(ss.replace(/\|{5}/g, "|"));
它需要被\
转义,因为管道是java脚本中的特殊字符。
管道后面的卷曲符号{5}
定义了您想要匹配的“之前”的数量。