Was sind reguläre Linux-Ausdrücke?
Linux Regular Expressions sind Sonderzeichen, mit denen Daten gesucht und komplexe Muster abgeglichen werden können. Reguläre Ausdrücke werden als "regulärer Ausdruck" oder "regulärer Ausdruck" abgekürzt. Sie werden in vielen Linux-Programmen wie grep, bash, rename, sed usw. verwendet.
Arten von regulären Ausdrücken
Lassen Sie uns zum besseren Verständnis die verschiedenen Arten von Regex nacheinander lernen.
- Grundlegende reguläre Ausdrücke
- Intervall Reguläre Ausdrücke
- Erweiterte reguläre Ausdrücke
- Zusammenfassung
Klicken Sie hier, wenn das Video nicht zugänglich ist
Grundlegende reguläre Ausdrücke
Einige der häufig verwendeten Befehle mit regulären Ausdrücken sind tr, sed, vi und grep. Nachfolgend sind einige der grundlegenden Regex aufgeführt.
Symbol | Beschreibungen |
---|---|
. | ersetzt jedes Zeichen |
stimmt mit dem Anfang der Zeichenfolge überein | |
$ | Entspricht dem Ende der Zeichenfolge |
* * | stimmt mit dem vorhergehenden Zeichen mindestens nullmal überein |
\. | Stellen Sie Sonderzeichen dar |
() | Gruppiert reguläre Ausdrücke |
? | Entspricht genau einem Zeichen |
Sehen wir uns ein Beispiel an.
Führen Sie das Cat-Beispiel aus, um den Inhalt einer vorhandenen Datei anzuzeigen
Suchen Sie nach Inhalten mit dem Buchstaben 'a'.
' ^ ' entspricht dem Anfang eines Strings. Lassen Sie uns nach Inhalten suchen, die mit a BEGINNEN
Nur Zeilen, die mit Zeichen beginnen, werden gefiltert. Zeilen, die zu Beginn nicht das Zeichen 'a' enthalten, werden ignoriert.
Schauen wir uns ein anderes Beispiel an -
Wählen Sie mit $ nur die Zeilen aus, die mit t enden
Intervall Reguläre Ausdrücke
Diese Ausdrücke geben Auskunft über die Anzahl der Vorkommen eines Zeichens in einer Zeichenfolge. Sie sind
Ausdruck | Beschreibung |
---|---|
{n} |
Entspricht dem vorhergehenden Zeichen, das n-mal genau erscheint |
{n, m} | Entspricht dem vorhergehenden Zeichen, das 'n' erscheint, jedoch nicht mehr als m |
{n,} | Entspricht dem vorhergehenden Zeichen nur, wenn es n-mal oder öfter erscheint |
Beispiel:
Filtern Sie alle Zeilen heraus, die das Zeichen 'p' enthalten.
Wir wollen überprüfen, ob das Zeichen 'p' genau zweimal in einer Zeichenfolge nacheinander vorkommt. Dafür wäre die Syntax:
cat sample | grep -E p\{2}
Hinweis: Sie müssen -E mit diesen regulären Ausdrücken hinzufügen.
Erweiterte reguläre Ausdrücke
Diese regulären Ausdrücke enthalten Kombinationen aus mehr als einem Ausdruck. Einige von ihnen sind:
Ausdruck | Beschreibung |
---|---|
\ + |
Entspricht einem oder mehreren Vorkommen des vorherigen Zeichens |
\? |
Entspricht null oder einem Vorkommen des vorherigen Zeichens |
Beispiel:
Suche nach allen Zeichen 't'
Angenommen, wir möchten Zeilen herausfiltern, in denen das Zeichen 'a' vor dem Zeichen 't' steht.
Wir können Befehle wie verwenden
cat sample|grep "a\+t"
Klammererweiterung
Die Syntax für die Klammererweiterung ist entweder eine Sequenz oder eine durch Kommas getrennte Liste von Elementen in geschweiften Klammern "{}". Die Start- und Endelemente in einer Sequenz werden durch zwei Punkte "..." getrennt.
Einige Beispiele:
In den obigen Beispielen erstellt der Befehl echo mithilfe der Klammererweiterung Zeichenfolgen.
Zusammenfassung:
- Reguläre Ausdrücke sind eine Reihe von Zeichen, mit denen Muster in Zeichenfolgen überprüft werden
- Sie werden auch als "Regexp" und "Regex" bezeichnet.
- Es ist wichtig, reguläre Ausdrücke zum Schreiben von Skripten zu lernen
- Einige grundlegende reguläre Ausdrücke sind:
Symbol | Beschreibungen |
---|---|
. | ersetzt jedes Zeichen |
stimmt mit dem Anfang der Zeichenfolge überein | |
$ | Entspricht dem Ende der Zeichenfolge |
- Einige erweiterte reguläre Ausdrücke sind:
Ausdruck | Beschreibung |
---|---|
\ + | Entspricht einem oder mehreren Vorkommen des vorherigen Zeichens |
\? | Entspricht null oder einem Vorkommen des vorherigen Zeichens |
- Einige reguläre Intervallausdrücke sind:
Ausdruck | Beschreibung |
---|---|
{n} | Entspricht dem vorhergehenden Zeichen, das n-mal genau erscheint |
{n, m} | Entspricht dem vorhergehenden Zeichen, das 'n' erscheint, jedoch nicht mehr als m |
{n,} | Entspricht dem vorhergehenden Zeichen nur, wenn es n-mal oder öfter erscheint |
- Die Klammererweiterung wird zum Generieren von Zeichenfolgen verwendet. Es hilft beim Erstellen mehrerer Zeichenfolgen aus einer.