正则表达式查找字符串之间的串联字符

时间:2020-06-04 10:13:23

标签: javascript regex

我遇到以下问题,我允许用户在编辑器中输入代码,我想替换串联字符,这里是我的示例:

1) "tttt"+"zzzz"
2) "+"
3) 'aaaa'+'cccc'
4) "'+'"
5) "az+d"
6) ""+""+""
7) 1+1

对于1,3和6,我应该替换'+'

现在我有了这个正则表达式:

(["'])(?:(?=(\\?))\2.)*?\1 

选择我不想要的东西!

此处是我使用的https://regex101.com/r/rWigkP/1在线工具的链接

1 个答案:

答案 0 :(得分:1)

为什么要使用正则表达式,您不需要为一小段代码编写性能代码,只是普通代码会更加清楚。 分割字符串,如果索引为偶数,只需删除“ +”

value.split('"').map((v, ind) => 
  v.trim() === '+' && 0 === ind % 2 ? '' : v
).join('"')