Das Beispiel Zeichenfolge in Python ist "sasi0'sada1\'adad2'theend"
Regex nicht bekommen das entwichene Zitat
ich die einfachen Anführungszeichen wollen, die nicht entgangen sind, so zitiert nach 0 und 2 sollte aber nicht das Zitat nach 1.
ausgewählt werdenIch versuchte re.findall(r"[\d]'")
, aber ich bekomme alle Baum Zitate Irgendwelche Hilfe?
Lassen Sie mich Ihnen das tatsächliche Szenario erzählen! Ich schreibe ein Skript, um SQL-Abfragen aus dem Code zu extrahieren. Perl-Code:
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)";
Die Regex:
re.compile(r'''(('|")(insert |update |delete |select)(.*?)(?<!\)(\2)(;?))''',re.IGNORECASE)
aber die Rückseite Referenz das entwichene doppelten Anführungszeichen ist ansteckend. , so dass nur halbe Abfrage
Ich glaube nicht, dass ich zusätzlichen Backslash automatisch hinzufügen kann, um es zu entkommen, wie Python nicht lesen \ in erster Linie, um andere hinzuzufügen! manuell ist es unmöglich zu entkommen, weil das ist ein riesiges Projekt mit vielen Abfragen. Irgendwelche Hilfe?
'= \' ............... –
'(? rock321987
@ rock321987 Ich versuchte Ihren Vorschlag, aber immer noch bekomme alle Zitate – sasidhar513