it-swarm.com.de

Fragen zur Verwendung von Regex Search & Replace in gedit

Ich versuche das Regex Search & Replace Plugin von gedit zu benutzen.

  1. Ich möchte nach einer Ziffer suchen, die sich zwei- oder dreimal wiederholt, also dachte ich, die Regex wäre

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

    Aber es stimmt nicht mit den Zielen überein, die es sollte, wie z. B. "22".

  2. Ich möchte ein Wort "Notizen" genau finden, also dachte ich es wäre

    \<Notes\> 
    

    Aber es geht auch nicht.

  3. Wie füge ich ein "#" vor eine dreistellige Zeichenfolge "[0-9] [0-9] [0-9]"? z.B. "123" wird zu "# 123".

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

10
Tim

Sie sollten Ihre 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 finden Sie unter pydoc re, das Sie über die Syntax von Python regulären Ausdrücken oder unter Online-Dokumentation informiert.

14
Kees Cook

Wie Kees sagt, verwendet das Plugin die re-Modulsyntax von Python, die auch auf der python-Site ein How-To enthält.

Ich empfehle auch die Installation und das Herumspielen mit kodosInstall kodos .
Es ist ein python Testprogramm für reguläre Ausdrücke (es nennt sich selbst 'Debugger') und enthält ein Regex-Schnellreferenzblatt sowie eine kürzere Version der re -Dokumentation.

Die regular-expression.info site bietet einen schönen Vergleich verschiedener Implementierungen von Metasprachen für reguläre Ausdrücke. Dort gibt es auch einen anständigen Abschnitt über das python-Aroma.

1
belacqua