在Python的例子字符串是"sasi0'sada1\'adad2'theend"
正则表达式来不了逃脱报价
我想这是没有逃过单引号,所以0和2的报价后,应选择而不是报价后1
我试过re.findall(r"[\d]'")
,但我得到所有树的报价 任何帮助?
让我告诉你实际的情况! 我正在写一个脚本来从代码中提取sql查询。 Perl代码:
ad.pl:$query = "Select * from (Select ((select cast(sysdate as ts) from dual)||(select c_r from v\$r_limit where r_n=\'sessions\')||\',\'||(select c_u from v\$r_l where r_n=\'t\')) as \"D,B,HH,AS,CT\" from dual)";
正则表达式:
re.compile(r'''(('|")(insert |update |delete |select)(.*?)(?<!\)(\2)(;?))''',re.IGNORECASE)
但后面参考追赶逃跑的双引号。 因此只获得一半查询
我不认为我可以自动添加额外的反斜杠来逃避它,因为python无法读取\在第一个地方添加其他! 手动它是不可能逃脱,因为这是一个巨大的项目有很多的疑问。 有什么帮助吗?
'= \'............... –
'(?<!\\)(?=')'.. – rock321987
@ rock321987我试过了您的建议,但仍然得到所有报价 – sasidhar513