Reguläre Ausdrücke (regular expression oder RegExp) bzw. Zeichenketten, können als Filterkriterien in Textsuchen verwendet werden. Der Text wird dabei mit dem "Muster" des regulären Ausdrucks abgeglichen. Somit kann man etwas suchen und finden, auch dann wenn man nicht mehr die genaue Schreibweise kennt.
Unter Linux kann man Hilfe von grep Dateien nach bestimmten Textzeichen durchsuchen. Unter Windows wäre die Verwendung mit Hilfe von grepWin (Regular expression search and replace for Windows) oder Select-String möglich.
Eine einfache Suche ist mit dem folgenden Befehl möglich:
- grep 'hemel' \ ~/*
Der | Strich (Pipe) steht für ein logisches "oder", somit wird nach dem "h" nach "hemel" und "hamel" gesucht.
- grep -E -i 'h(e|a)mel' \ ~/*
- grep -E -i 'h[\0-9A-F]+mel' \ ~/*
Weitere Beispiele
- [he]+ "h", "e", "hh", "hheeh" usw.
- [0-6]{2,5} zwei bis fünf Ziffern von 0-6 in Folge, z. B. "16" oder "23456", jedoch nicht "7", "0.1" oder "1bca2“
- h.{0,2}mel beliebiges Zeichen, min 0mal, max 2mal vorkommen, z.B. hemel, haemel, hmel
Wichtige Zeichen
- . einzelnes Zeichen
- (..) Gruppe von Elementen
- ..|.. Oder Verknüpfung
- ^ findet den Anfang einer Zeile
- $ findet das Ende einer Zeile
Wichtige Zeichengruppen
- [eam] ein Zeichen "e", "a" oder "m"
- [0-9A-F] ein großer beliebiger Buchstabe oder eine beliebige Ziffer
- [A-Za-z0-9] ein beliebiger Buchstabe oder eine beliebige Ziffer
Vordefinierte Zeichenklassen
- \d Ziffer [0-9]
- \D keine Ziffer [^\d] bzw. [^0-9]
- \w Buchstabe [a-zA-Z_0-9]
- \W weder Buchstabe noch Zahl noch Unterstrich [^\w]
- \s whitespace Leerzeichen und Steuerzeichen \f, \n, \r, \t und \v
- \S kein whitespace
Quantifier
- ? optional, kommt null- oder einmal vor {0,1}
- * beliebig oft oder auch keinmalt {0,}
- + mindestens einmal oder auch mehrfach {1,}
- {n} muss exakt n-mal vorkommen {n,n}
- {n,m} muss mindestens n-mal und darf maximal m-mal vorkommen
Unter debuggex.com kann man die erstellte regular expression testen und verstehen.
Keine Kommentare:
Kommentar veröffentlichen