Dies ist ein komplettes Anfänger-Tutorial für reguläre Ausdrücke, das auch für Programmieranfänger leicht verständlich ist.
Dies ist ein kompletter Leitfaden für reguläre Ausdrücke, den ich besonders Menschen empfehle, die nicht gut mit Computern umgehen können.
Reguläre Ausdrücke sind schwierig und tiefgehend, aber die Grundlagen sind nicht so schwer. Es mag Zeit brauchen, sich daran zu gewöhnen, aber sobald Sie mit regulären Ausdrücken umgehen können, werden sie zu einem großartigen Effizienzwerkzeug für Arbeit und Privatleben.
Was sind Reguläre Ausdrücke
Reguläre Ausdrücke sind eine Funktion von Programmiersprachen, die für Textsuche und -ersetzung verwendet wird.
Auf Englisch heißen sie Regular expression, abgekürzt regex oder regexp. (Ersteres scheint häufiger zu sein.)
Regular expression - Wikipedia
Sie verstehen vielleicht nicht ganz “Textsuche und -ersetzung”. Schauen wir uns einige praktische Beispiele an.
Grundlegende Syntax für Reguläre Ausdrücke
Hier ist die grundlegende Syntax für reguläre Ausdrücke. Schauen Sie sie kurz durch. Ein grobes Verständnis ist in Ordnung. Sie werden sich daran gewöhnen, wenn Sie sie verwenden.
Unten ist die grundlegende Syntax für reguläre Ausdrücke.
-
| … ODER
-
() … Gruppe
-
^ … Zeilenanfang
-
$ … Zeilenende
Unten ist eine Liste von Zeichenklassen.
- \s … Leerzeichen
- \S … Nicht-Leerzeichen
- \w … Wortzeichen
- \W … Nicht-Wortzeichen
- \d … Ziffer
- \D … Nicht-Ziffer
Außerdem gibt es folgende Sonderzeichen.
- \n … Zeilenumbruch
- \t … Tab
Und folgendes für Bereichsangaben.
- [abc] … a oder b oder c
- [^abc] … Nicht a, b oder c
- [a-z] … Ein Zeichen aus a,b,c,…,x,y,z
- [A-Z] … Ein Zeichen aus A,B,C,…,X,Y,Z
- [0-9] … Ein Zeichen aus 0,1,2,3,…,8,9
- [a-zA-Z0-9] … Ein Zeichen aus a,b,c,…,x,y,z A,B,C,…,X,Y,Z 0,1,2,3,…,8,9
Unten ist eine Liste von Quantifikatoren.
- \ … Escape
- ?= … Positiver Lookahead
- ?! … Negativer Lookahead
Escape bedeutet, Zeichen, die für die Syntax regulärer Ausdrücke verwendet werden, als normale Zeichen zu interpretieren.
Zum Beispiel ist \d+ ein regulärer Ausdruck, der mit der Zeichenkette 21 übereinstimmt, aber wenn Sie mit der Zeichenkette \d+ selbst übereinstimmen wollen, müssen Sie es wie \\d+ escapen.
Gruppen werden verwendet, wenn Sie reguläre Ausdrucks-Ersetzungen durchführen oder sie in Programmiersprachen verwenden. Sie werden auch oft verwendet, wenn Sie ODER mit | verwenden.
Positiver Lookahead und negativer Lookahead sind etwas schwierig, also ist es in Ordnung, sie später zu verstehen.
Beispiele für die Verwendung von Regulären Ausdrücken
Lassen Sie mich von einfachen Beispielen aus vorstellen.
- Ich möchte nach den Zeichenketten "regulärer Ausdruck" oder "regex" suchen
regulärer Ausdruck|regex
Dies ist die grundlegendste Form eines regulären Ausdrucks. | bedeutet “oder” und ist gleichbedeutend mit der ODER-Suche, die oft in der Google-Suche verwendet wird.

- Ich möchte nach den Zeichenketten "regulärer Ausdruck" oder "regex" oder "regexp" suchen
Natürlich können Sie auch drei nehmen.
- Ich möchte nach "regulärer Ausdruck" oder "regex" suchen, aber nicht nach "regexp"
regulärer Ausdruck|regex(?!p)

- Ich möchte mit regulären Ausdrücken nach URLs suchen
https?:\/\/.*\.png

- Ich möchte eine UND-Suche durchführen
^(?=.*regulärer Ausdruck)(?=.*Anfänger)

- Ich möchte eine Minus-Suche durchführen
^(?=.*regulärer Ausdruck)(?!.*Fortgeschrittene)

- Ich möchte eine ODER-Suche durchführen
^((?=.*regulärer Ausdruck)(?!.*Fortgeschrittene)|(?=.*regex)(?!.*high))

Dies war nur ein kleiner Teil, aber ich habe kurz einige nützliche reguläre Ausdrücke vorgestellt. Bitte probieren Sie sie selbst aus.
Reguläre Ausdrücke ausprobieren
Die empfohlene Methode, reguläre Ausdrücke tatsächlich auszuprobieren, ist, sie in einem Texteditor zu üben. Viele Programmier-Texteditoren wie Atom haben eingebaute Funktionen für reguläre Ausdrücke. Ich denke, der einfachste Weg zu verstehen ist, tatsächlich reguläre Ausdrucks-Suchen und -Ersetzungen an Ihren bevorzugten Dokumentdaten in diesen Texteditoren durchzuführen.
Das gesagt, gibt es auch schnelle Testmethoden. Es gibt auch mehrere Websites zum Testen regulärer Ausdrücke, und viele erscheinen, wenn Sie suchen. Die folgende Seite ist eine davon. Bitte nutzen Sie sie.
RegExr: Learn, Build, & Test RegEx

Reguläre Ausdrücke gibt es nicht nur in einer Art
Auch wenn wir reguläre Ausdrücke sagen, gibt es tatsächlich mehrere Typen und auch Versionen. Wenn Sie reguläre Ausdrücke weiter verwenden, ohne sich darüber im Klaren zu sein, könnten Sie irgendwann denken “Hm? Es sollte korrekt sein, aber der reguläre Ausdruck funktioniert nicht…” Lassen Sie uns das grob verstehen.
Erstens könnten Sie denken, dass reguläre Ausdrücke einfach reguläre Ausdrücke sind, aber es gibt mehrere Typen.
Erstens ist der repräsentative PCRE (Perl Compatible Regular Expressions).
Perl Compatible Regular Expressions - Wikipedia
Dies wird in Programmiersprachen wie PHP und Perl verwendet.
Als nächstes gibt es POSIX reguläre Ausdrücke, die weniger bekannt als PCRE sind und eine etwas andere Syntax haben. Datenbanksprachen wie MySQL fallen in diese Kategorie.
Like-Suche, auch Fuzzy-Suche genannt, ist auch eine Art regulärer Ausdruck.
Auch wenn Sie mit Programmierung vertraut sind, haben Sie wahrscheinlich Kommandozeilen-Wildcard-Suchen verwendet. Sie verwenden sie wie ls *.txt. Dies ist auch eine Variante regulärer Ausdrücke.
Genau genommen werden diese Funktionen Globbing oder Bash Extended Globbing genannt.
Nicht sehr bekannt, aber mit Bash Extended Globbing können Sie auch Syntax schreiben, die näher an regulären regulären Ausdrücken ist, wie das Folgende. Es ist ein interessantes Beispiel mit völlig anderer Syntax als normale reguläre Ausdrücke.
*.+(flac|wav|wave)
Denken Sie daran, dass reguläre Ausdrücke in einer Umgebung oder Sprache möglicherweise nicht genauso funktionieren wie reguläre Ausdrücke in anderen. Das gesagt, sind die meisten regulären Ausdrücke kompatibel, also geht es um Aufwärtskompatibilität (Ruby, PHP, Perl usw.) oder Abwärtskompatibilität (JavaScript, MySQL usw.). Auch wenn Sie Programmierung nicht verstehen, ist es gut zu schauen, in welcher Programmiersprache die Software, die reguläre Ausdrücke verwenden kann, erstellt wurde.
Reguläre Ausdrucks-Suche im Chrome-Browser ausprobieren
Nun, ich denke viele Menschen verwenden Chrome zum Surfen, und JavaScript, eine Programmiersprache, läuft im Hintergrund in Webbrowsern wie Chrome. Chrome-Erweiterungen sind auch in JavaScript geschrieben, und es gibt mehrere Erweiterungen, die reguläre Ausdrucks-Funktionalität bieten.
Chrome-Erweiterung für reguläre Ausdrucks-Suche

Wie bereits erwähnt, ist JavaScript nicht PCRE, sondern etwas Grundlegenderes, daher ist seine Funktionalität leicht eingeschränkt. (Insbesondere können Funktionen wie negativer Lookbehind nicht verwendet werden.) Das gesagt, Texteditoren wie Atom sind auch aus JavaScript erstellt, also verwenden sie dieselben regulären Ausdrücke.
Software, die Reguläre Ausdrücke integriert
Lassen Sie mich einige nützliche Software vorstellen, die reguläre Ausdrucks-Suche und -Ersetzung integriert.
everything

everything ist eine Dateisuche-Software, die unter Windows verwendet werden kann. Es ist ein Typ, der Dateinamen durchsucht, nicht Textdaten.
Ich habe spezifische reguläre Ausdrücke für everything in einem anderen Artikel vorgestellt.
Super-effiziente Windows 10 Dateisuche mit everything
atom

atom ist ein beliebter Texteditor der letzten Jahre.
Ich denke, die häufigste Gelegenheit, reguläre Ausdrucks-Suche zu verwenden, ist in einem Texteditor. Nicht nur reguläre Ausdrucks-Suche, sondern auch reguläre Ausdrucks-Ersetzung kann verwendet werden.
Beispiel für reguläre Ausdrucks-Ersetzung zur Konvertierung von Bild-URL in Markdown
(https:.*yuis\.xsrv\.jp.*(\.png|\.jpg))


ag

ag ist ein Kommandozeilen-Dienstprogramm, das Textdateien und Befehlsausgaben mit regulären Ausdrücken durchsucht.
Ich habe spezifische reguläre Ausdrücke für ag in einem anderen Artikel vorgestellt.
ag ist das Beste für Volltextsuche mit regulären Ausdrücken in Bash
Seiten zum Erlernen tieferer Regulärer Ausdrücke
Die grundlegenden regulären Ausdrücke sind wie oben beschrieben, aber reguläre Ausdrücke gehen noch viel tiefer.
Obwohl es auf Englisch ist, erklärt diese Seite reguläre Ausdrücke sehr tiefgehend.
Außerdem, regex repl - Google Search
Reguläre Ausdrücke sind tiefgehend
Ich arbeite seit ich mit dem Programmieren angefangen habe mit regulären Ausdrücken, mehrere Jahre lang, und ich habe endlich die Grundlagen verstanden. Reguläre Ausdrücke sind ziemlich tiefgehend und erfordern Studium als Kategorie, aber ich denke, sie sind es wert.
Zumindest wenn das Konzept der regulären Ausdrücke verschwinden würde, würden viele Menschen, mich eingeschlossen, depressiv werden. Lol So ein mächtiges Werkzeug sind reguläre Ausdrücke. Bitte beginnen Sie mit dem Lernen von den einfachen Teilen.