Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript正则表达式在SQL插入中的单引号内获取多个单引号_Javascript_Sql_Regex_Migration - Fatal编程技术网

JavaScript正则表达式在SQL插入中的单引号内获取多个单引号

JavaScript正则表达式在SQL插入中的单引号内获取多个单引号,javascript,sql,regex,migration,Javascript,Sql,Regex,Migration,问题 我正在进行数据库迁移,我遇到了以下senario,我在insert的单引号内有一个单引号,经过几次尝试修复后,我得出结论,我需要使用正则表达式,我达到了可以替换文本中心单引号的程度,我现在有一个问题,当它出现在开始。我的正则表达式有前两个单引号,但我的目标是最后两个 SQL插入: (1, '22', '2006-11-10', '3', 'field1', 'field2', '2006-12-12', '11:20:06', '''field3', ' Lorem ipsum dolo

问题

我正在进行数据库迁移,我遇到了以下senario,我在insert的单引号内有一个单引号,经过几次尝试修复后,我得出结论,我需要使用正则表达式,我达到了可以替换文本中心单引号的程度,我现在有一个问题,当它出现在开始。我的正则表达式有前两个单引号,但我的目标是最后两个

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):

我的目标是在regexp之后进行查找和替换,结果是:

(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);

我正在使用此站点进行测试:(选中javascript)

一个选项是匹配一个
'
分隔符,然后惰性地重复,直到您再次匹配该分隔符,后跟一个逗号(或
,如果该项是列表中的最后一项)。然后,使用替换函数将分隔符内的所有内容替换为
s转义:

const input=`(1,'22','2006-11-10','3','field1','field2','2006-12-12','11:20:06','field3','
我们的智慧来自于我们的精英,来自于我们的智慧,来自于我们的智慧,来自于我们的智慧,来自于我们的智慧,来自于我们的智慧,来自于我们的智慧。
根据康努比亚·诺斯特拉(conubia nostra)和希梅纳奥斯(inceptos himenaeos)的规定,社会责任和责任等级为:。
-Lorem ipsum dolor“坐在我的身边”
前庭有一个小木瓜,它是一种花椒品种,它是一种普通品种。
整座城市是一个巨大的城市。
“,null,null);”;
const output=input.replace(
/([“'])([\s\s]*?)\1(?=[,)])/g,
(\,delim,content)=>delim+content。替换(/'/g,“\\'”)+delim
);
控制台日志(输出)
(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);