【发布时间】:2018-11-20 00:25:45
【问题描述】:
问题
我正在做一个数据库迁移,我遇到了以下情况,我在插入的单引号内有单引号,经过几次尝试修复后,我得出的结论是我需要使用正则表达式,然后我到了到我可以替换文本中心的单引号的地步,当它出现在开头时,我现在遇到了问题。我的正则表达式有前两个单引号,但我的目标是最后两个。
SQL 插入:
(1, '22', '2006-11-10', '3', 'field1', 'field2', '2006-12-12', '11:20:06', '''field3', '
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus ex ipsum, luctus id dignissim tempor, volutpat eget sapien. Cras accumsan molestie iaculis. Mauris vehicula a nunc vel tincidunt.
Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.
- Lorem ipsum dolor '' sit amet - ''''
Aliquam vestibulum tincidunt odio, id varius sapien lacinia ac. Phasellus ullamcorper ante ut lacus dictum commodo.
Integer sit amet lacus ornare massa feugiat tempus.
', null, null);
我的正则表达式(js):
((["'])(?:(?=(\'\'\?))\2)*?)\1(?!,)
我在进行正则表达式并进行查找和替换后的目标是得到这个结果:
(1, '22', '2006-11-10', '3', 'field1', 'field2', '2006-12-12', '11:20:06', '\'\'field3', '
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus ex ipsum, luctus id dignissim tempor, volutpat eget sapien. Cras accumsan molestie iaculis. Mauris vehicula a nunc vel tincidunt.
Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.
- Lorem ipsum dolor \'\' sit amet - \'\'\'\'
Aliquam vestibulum tincidunt odio, id varius sapien lacinia ac. Phasellus ullamcorper ante ut lacus dictum commodo.
Integer sit amet lacus ornare massa feugiat tempus.
', null, null);
我正在使用此站点进行测试:https://regex101.com/(已选择 javascript)
【问题讨论】:
标签: javascript sql regex migration