Ich schreibe ein Papier mit Latex und habe versehentlich \cite[]
anstelle von \cite{}
geschrieben.
Ich könnte einfach das ganze Dokument von Hand durchgehen, aber ich möchte wissen, wie man das in notepad ++ mit Regexes macht.
Ich probierte anfangs \cite\[(.*)\]
und ersetzte mit \cite{}
, was für einfache Fälle wie
Wenn es jedoch zwei oder mehr Zitate in einem Absatz gibt, stimmt es mit allen überein. So zum Beispiel
%Vor%entspricht der gesamten Zeile
Wie kann ich eine nicht gierige Übereinstimmung erhalten, so dass die obige Zeile als 3 separate Übereinstimmungen übereinstimmen würde und das Ergebnis eines Ersetzungsbefehls sollte mir
geben %Vor%Verwenden Sie einen widerwilligen (aka nicht-gierigen) Ausdruck:
%Vor% Die Zugabe der Fragezeichen ändert sich die .*
von gierigen (Standard) zu widerstrebend (nicht gierig), was bedeutet, es so wenig wie möglich verbrauchen eine Übereinstimmung zu finden, was bedeutet, es wird nicht überspringen mehrere Suchbegriffe, so dass sie paßt die offene eckige Klammer zu verwenden, wenn die ersten zitieren und die eckige Klammer der letzten zitieren.
Sehen Sie eine Live-Demo dieses Regex mit der Probe in der Frage zu arbeiten.
Besser, einen präziseren Ausdruck zu verwenden:
\cite\[([^[\]]*)\]
Sie müssen Notepad ++ Version 6 oder höher verwenden (sie haben ein Upgrade auf die PCRE-Regex-Engine auf V6 durchgeführt).