用于查找和替换的单个正则表达式

Single regular expression for find and replace

本文关键字:单个 正则表达式 替换 查找 用于      更新时间:2023-09-26

使用一个正则表达式是否可以找到错误的分隔符:

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

我有以下内容,但它与所有内容都匹配。-我可以做两次传球,我相信现在只需要一次就可以了。

雷金纳德·X·普莱森你在哪里?

 /('s{1}-|-'s{1}|-)/gi

您可以使用以下正则表达式:

/-'S|'S-/g

RegEx演示

此正则表达式使用交替来匹配前面有非空格或后面有非空格的-


编辑:根据您编辑的部分,您可以使用此replace:

input = input.replace(/'s*-'s*/g, ' - ');

替换演示