我遇到以下问题,我允许用户在编辑器中输入代码,我想替换串联字符,这里是我的示例:
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在线工具的链接
答案 0 :(得分:1)
为什么要使用正则表达式,您不需要为一小段代码编写性能代码,只是普通代码会更加清楚。 分割字符串,如果索引为偶数,只需删除“ +”
value.split('"').map((v, ind) =>
v.trim() === '+' && 0 === ind % 2 ? '' : v
).join('"')