javascript - 正则表达式:匹配每行中其他字符之间的奇数重复次数

标签 javascript regex replace

我想知道如何在 javascript 的每一行中匹配和替换奇数的斜杠 (\)。
它们用于转义字符串,但有时字符串会换行,因此斜杠必须移动到下一行。

这是一个示例:http://regex101.com/r/iI9vO9

我想匹配标记为"is"的行并忽略标记为“否”的行。

例如:

"Yes 1\" + 
"No 2\\" + 
"Yes 3\\\" + 
"No 4\\\\" + 
"No"

应改为:

"Yes 1" + 
"\No 2\\" + 
"Yes 3\\" + 
"\No 4\\\\" + 
"No"

请注意,每行斜杠前后都有字符,当斜杠重复奇数次时,斜杠将移动到下一行。
我无法让它与 (\\)(\\\\)* 或环视一起工作。

如果这项工作可行的话,这就是我的想法:

text.replace(/([^\\])\\" \+ \n"(.)/gm, '$1\\$2"+ \n "')

如果 RegEx 无法实现这一点,我将不胜感激任何其他方式来实现这一点。
感谢您的帮助。

编辑:
对于任何在 Google 上查找此内容的人来说,这正是解决问题的方法:

text.replace(/([^\\])((\\{2})*)\\" \+ \n"/g, '$1$2" + \n"\\')

http://jsfiddle.net/5mGWF/1/

最佳答案

这似乎可以满足您的要求:

text = text.replace(/([^\\])((\\{2})*)\\\n/g, "$1$2\n\\")

http://jsfiddle.net/5mGWF/

关于javascript - 正则表达式:匹配每行中其他字符之间的奇数重复次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23109310/

相关文章:

class - 使用 Sed 和字符类从大写到小写

javascript - 如何刷新 Firebase session Cookie

javascript - React 组件中的 Prop 发生了变化

regex - 如何使用正则表达式解析 Perl 中引用的 CSV?

php - 测试字符串是否为正则表达式

Python:反向替换函数

javascript - 如何从延迟加载的模块访问 AppModule 模块导入?

javascript - 为什么 $event 绑定(bind)在使用 PrimeNG 的 RowGroup 表上不起作用?

regex - 使用 awk 或 sed 查找特定模式并打印完整的文本 block

c# - 从字符串中删除空白字符