正则表达式:替换不包含逗号的两个字符之间的所有字符

时间:2015-08-07 13:30:36

标签: javascript regex

我有这个字符串:

++some+text+to+replace+stay,++some+text+to+replace+stay,++some+text+to+replace+stay

我想替换不包含+的{​​{1}}字符之间的所有内容。 所以结果应该是这样的:

,

(" _"是被替换的空间)

我已经玩过一段时间了,让它起作用了:

_stay,_stay,_stay

Regular expression visualization

Debuggex Demo

这是我用正则表达式知识得到的最接近的结果。你能帮我解释一下你的解决方案吗?

2 个答案:

答案 0 :(得分:4)

你开始正确,但一切都很复杂。 Simply

\+[^,]+\+

加号(\+),后跟任何非逗号([^,]+),后跟加号(\+)。

答案 1 :(得分:0)

s.replace(/\+[^,]+(.{4})(?=,|$)/g, '_$1') // where `s` is the string