Fragen zur Verwendung von Regex Search & Replace in gedit

10

Ich versuche, das Regex Search & Replace-Plugin von gedit zu verwenden.

  1. Ich möchte nach einer Ziffer suchen, die sich zwei- oder dreimal wiederholt, also dachte ich, der reguläre Ausdruck sei

    [0-9]\{2,3\}

    Aber es entspricht nicht den Zielen, die es sollte, wie "22".

  2. Ich möchte genau ein Wort "Notizen" finden, also dachte ich, dass es so sein würde

    \<Notes\> 

    Aber es funktioniert auch nicht.

  3. Wie füge ich ein "#" vor einer dreistelligen Zeichenfolge "[0-9] [0-9] [0-9]" hinzu? zB wird "123" zu "# 123".

Ich habe mich gefragt, ob ich einen Fehler gemacht habe. Ich verwende Basic Regex . Welche Art von Regex wird im Plugin verwendet? Wie kann ich lernen, wie man dieses Plugin benutzt?

Tim
quelle

Antworten:

14

Sie sollten Ihren Regex-Zeichen nicht entkommen müssen. Ihr erstes Beispiel sollte sein:

[0-9]{2,3}

Ihr zweites Beispiel sollte sein:

\bNote\b

Für die dritte Situation müssen Sie die Dinge vorher und nachher abgleichen und dann Rückverweise verwenden:

(.*)([0-9]{3}.*)

mit dem Ersatz ist:

\1p\2

Weitere Informationen pydoc refinden Sie in der Python-Syntax für reguläre Ausdrücke oder in der Online-Dokumentation .

Kees Cook
quelle
1

Wie Kees sagt, verwendet das Plugin die Python- reModulsyntax, die auch eine Anleitung auf der Python-Site enthält.

Ich empfehle auch, Kodos zu installieren und damit herumzuspielenInstallieren Sie Kodos .
Es ist ein Python-Tester für reguläre Ausdrücke (er nennt sich selbst "Debugger") und enthält ein Regex-Kurzreferenzblatt sowie eine kürzere Version der reModuldokumentation.

Die Website strict-expression.info bietet einen schönen Vergleich verschiedener Implementierungen von Metasprachen für reguläre Ausdrücke. Es gibt dort auch einen anständigen Abschnitt über den Python-Geschmack.

belacqua
quelle
@igbelacqua: Danke! Ich denke Kodos ist für KDE. Wenn ich richtig liege, kann es auf Gnome installiert werden, aber nicht das Beste, wenn es eine andere native Software für Gnome gibt. Weißt du was die Eingeborenen sind?
Tim
Hmm - Kodos hat zwar Qt-Abhängigkeiten, aber es ist keine KDE-App an sich, die ich sehen kann. Ich verwende Ubuntu (Gnome) und es war nicht fehl am Platz. Eine andere Option ist kiki- es ist eine Python-wxgtk2.6-Anwendung - nicht so voll funktionsfähig. Ich habe es benutzt, bevor ich Kodos gefunden habe. Eine weitere Testeroption , für die keine Installation erforderlich ist, ist pythonregex.com. Sie soll von Kodos inspiriert und sauber und nützlich sein. Es ist möglicherweise die einfachste Verwendung der drei.
Belacqua