使用单个正则表达式是否可以找到错误的分隔符:
Gary Numan- Cars.mp3 // match
Gary Numan -Cars.mp3 // match
Gary Numan-Cars.mp3 // match
但不是“-”,这是正确的。
Gary Numan - Cars.mp3
因此可以使用简单的替换来更改:
Gary Numan- Cars.mp3 ---> Gary Numan - Cars.mp3
Gary Numan - Cars.mp3 ---> Gary Numan - Cars.mp3
Gary Numan-Cars.mp3 ---> Gary Numan - Cars.mp3
我有以下内容,但它全部匹配。 - 我可以通过两次通过,我确信现在只需一次就可以做到。
Reginald X.请问你在哪里?
/(\s{1}-|-\s{1}|-)/gi
最佳答案
您可以使用此正则表达式:
/-\S|\S-/g
此正则表达式使用交替来匹配前面有非空格或后面有非空格的 -
。
编辑:根据您编辑的部分,您可以使用此替换
:
input = input.replace(/\s*-\s*/g, ' - ');
关于javascript - 用于查找和替换的单个正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32405158/