/ / Auswahl des gesamten Texts mit Ausnahme von Muster - Regex

So wählen Sie den gesamten Text außer Muster - Regex

Ich habe eine Textdatei und möchte alle übersetzten Zeichenfolgen daraus erhalten.

Alle Übersetzungen sind wie folgt:

_("string")

Also habe ich diesen regulären Ausdruck:

(_([""].+[""]))

Welches findet alle meine Übersetzungen ... nun, wie invertiere ich dies, damit ich alles andere löschen kann?

Am Ende machte ich:

egrep "_(".+?)" ~myfile.py -o >> ~/Desktop/translations.txt

egrep "_(".+?)" ~myfile.py -o >> ~/Desktop/translations.txt

Ich konnte es nicht einmal auf einmal tun, weil ich nicht wusste, wie ich mich dem einfachen Anführungszeichen in der Shell entziehen sollte :(

Antworten:

0 für die Antwort № 1

Einen regulären Ausdruck zu negieren ist oft hübschkompliziert. Anstatt alles andere mit regulären Ausdrücken zu löschen, ist es viel besser, alle Übereinstimmungen Ihres aktuellen regulären Ausdrucks zu finden und die Übereinstimmungen dann zusammenzufügen, um nur eine Zeichenfolge der Übereinstimmungen zu erstellen.