RegEx/Anwendungen: Unterschied zwischen den Versionen
Erscheinungsbild
K Textersetzung - „ “ durch „ “ |
|||
| Zeile 8: | Zeile 8: | ||
| Absätze zusammenführen || ([a-zäüöß,-])\n([a-zäüöß]) || \1 \2|| | | Absätze zusammenführen || ([a-zäüöß,-])\n([a-zäüöß]) || \1 \2|| | ||
|- | |- | ||
| Absätze aufbrechen || \. ([a-zA-Z]) | | Absätze aufbrechen || \. ([a-zA-Z]) || . \n\* \1|| | ||
|- | |- | ||
| Leerzeilen in Aufzählungen löschen || \n\n([a-z]) || \n* \1|| | | Leerzeilen in Aufzählungen löschen || \n\n([a-z]) || \n* \1|| | ||
|- | |- | ||
| Alleinstehende Aufzählungspunkte löschen || ^\* $ | | Alleinstehende Aufzählungspunkte löschen || ^\* $ |||| | ||
|- | |- | ||
| Leere Absätze löschen || \n\n\n | | Leere Absätze löschen || \n\n\n || \n\n|| | ||
|- | |- | ||
| Zeilenwechsel nach Überschriften löschen || =\n\n | | Zeilenwechsel nach Überschriften löschen || =\n\n || =\n|| | ||
|- | |- | ||
| style-Attribute löschen || style=".*;" |||| | | style-Attribute löschen || style=".*;" |||| | ||
| Zeile 30: | Zeile 30: | ||
| HTML-br || <nowiki>\<br/\></nowiki> || \n|| | | HTML-br || <nowiki>\<br/\></nowiki> || \n|| | ||
|- | |- | ||
| Anker | | Anker || \{\{anchor.*\}\} |||| | ||
|- | |- | ||
| Anker | | Anker || \{\{anker.*\}\} |||| | ||
|- | |- | ||
| Referenzen | | Referenzen || | ||
<nowiki>\<ref\>.*\</ref\></nowiki></br> | <nowiki>\<ref\>.*\</ref\></nowiki></br> | ||
<nowiki><ref name=.*</ref></nowiki></br> | <nowiki><ref name=.*</ref></nowiki></br> | ||
<nowiki><ref name=.*/></nowiki></br> | <nowiki><ref name=.*/></nowiki></br> | ||
|- | |- | ||
| Tabelle formatieren || <nowiki>\{\|</nowiki> | | Tabelle formatieren || <nowiki>\{\|</nowiki> || <nowiki>{| class="wikitable sortable options"</nowiki>|| | ||
|- | |- | ||
| Non Braking Spaces | | Non Braking Spaces || &nbsp; |||| | ||
|- | |- | ||
| Images | | Images || \[\[Image:.*\]\] || ''|| | ||
|- | |- | ||
| Images durch alt-Text ersetzen || \[\[Image:.*\|alt="(.*)"\]\] | | Images durch alt-Text ersetzen || \[\[Image:.*\|alt="(.*)"\]\] || \1|| | ||
|- | |- | ||
| Führende Leerzeichen | | Führende Leerzeichen || ^ * || ''|| | ||
|- | |- | ||
| Manpage Überschriften in Wiki-Überschriften | | Manpage Überschriften in Wiki-Überschriften || ^(<nowiki>[[:upper:]]</nowiki>{2,}[ /_]?[[:upper:] ]*)$ || <nowiki>== \1 ==</nowiki>|| | ||
|- | |- | ||
| Manpage Optionen in erste Tabellenzelle || <nowiki>(^-[A-Za-z0-9] ?[A-Za-z_\[\]:]*)</nowiki> || | \1|| | | Manpage Optionen in erste Tabellenzelle || <nowiki>(^-[A-Za-z0-9] ?[A-Za-z_\[\]:]*)</nowiki> || | \1|| | ||
|- | |- | ||
| TODOs auskommentieren || | | TODOs auskommentieren || <nowiki>^^('''TODO: '''.*$)</nowiki> || <nowiki> ^<!-- \1 --> </nowiki>|| | ||
|- | |- | ||
| Wikitable Spalten tauschen (Erste/Zweite) || <nowiki>(.*) \|\|(.*)$</nowiki> || <nowiki> |\2 |\1 </nowiki>|| | | Wikitable Spalten tauschen (Erste/Zweite) || <nowiki>(.*) \|\|(.*)$</nowiki> || <nowiki> |\2 |\1 </nowiki>|| | ||
|- | |- | ||
| Führende Nummern in Wiki-Überschriften | | Führende Nummern in Wiki-Überschriften || <nowiki>= ([0-9]*\.)* ([A-Z]){1}</nowiki> || <nowiki>= \2</nowiki>|| | ||
|- | |- | ||
| Leerzeichen am Zeilenende ersetzen || <nowiki>( $)</nowiki> |||| | | Leerzeichen am Zeilenende ersetzen || <nowiki>( $)</nowiki> |||| | ||
|- | |- | ||
| Optionen in Wiki-Spalten || <nowiki> ^-(.*), --(.*)\n </nowiki> || <nowiki> |-\n| -\1 || --\2 || | | Optionen in Wiki-Spalten || <nowiki> ^-(.*), --(.*)\n </nowiki> || <nowiki> |-\n| -\1 || --\2 || </nowiki> | ||
|} | |} | ||
| Zeile 71: | Zeile 71: | ||
| bzw\. || beziehungsweise | | bzw\. || beziehungsweise | ||
|- | |- | ||
| u\.U\. || | | u\.U\. || gegebenenfalls | ||
|- | |- | ||
| d\.h\. || das bedeutet, | | d\.h\. || das bedeutet, | ||
| Zeile 86: | Zeile 86: | ||
|} | |} | ||
== | == Einfache Ausdrücke == | ||
{| class="wikitable sortable options big" | {| class="wikitable sortable options big" | ||
|- | |- | ||
| | | | Haus | ||
| | | | Die Zeichenfolge "Haus" | ||
|- | |- | ||
| | | | ^Haus | ||
| | | | "Haus" am Zeilenanfang | ||
|- | |- | ||
| | | | Haus$ | ||
| | | | "Haus" am Zeilenende | ||
|- | |- | ||
| | | | ^Haus$ | ||
| | | | "Haus" als einziges Wort in einer Zeile | ||
|- | |- | ||
| | | | [Hh]aus | ||
| | | | "Haus" oder "haus" | ||
|- | |- | ||
| | | | Ha[unl]s | ||
| | | | "Haus", "Hals" oder "Hans" | ||
|- | |- | ||
| | | | [^HML]aus | ||
| | | | Weder "Haus", noch "Maus", noch "Laus", dafür aber andere Zeichenfolgen, welche "aus" enthalten | ||
|- | |- | ||
| | | | Ha.s | ||
| | | | Der dritte Buchstabe ist ein beliebiges Zeichen | ||
|- | |- | ||
| | | | ^...$ | ||
| | | | Jede Zeile mit genau drei Zeichen | ||
|- | |- | ||
| | | | ^\. | ||
| | | | Jede Zeile, die mit einem Punkt beginnt | ||
|- | |- | ||
| | | | ^\.[a-z][a-z] | ||
| | | | Jede Zeile, die mit einem Punkt und zwei Kleinbuchstaben beginnt | ||
|- | |- | ||
| | | | ^\.[a-z]\{2\} | ||
| | | | Wie oben, jedoch nur in grep und sed zulässig | ||
|- | |- | ||
| | | | ^[^.] | ||
| | | | Jede Zeile, die nicht mit einem Punkt beginnt | ||
|- | |- | ||
| | | | Fehler* | ||
| | | | "Fehle"(!), "Fehler", "Fehlers", etc | ||
|- | |- | ||
| | | | "Wort" | ||
| | | | Ein Wort in Anführunszeichen | ||
|- | |- | ||
| | | | "*Wort"* | ||
| | | | Ein Wort mit beliebig vielen (auch keinen) Anführungszeichen | ||
|- | |- | ||
| | | | [A-Z][A-Z]* | ||
| | | | Ein oder mehrere Großbuchstaben. | ||
|- | |- | ||
| | | | [A-Z]+ | ||
| | | | Wie oben, jedoch nur in egrep und awk zulässig | ||
|- | |- | ||
| | | | [A-Z].* | ||
| | | | Ein Großbuchstabe, gefolgt von keinem oder beliebig vielen Zeichen | ||
|- | |- | ||
| | | | [A-Z]* | ||
| | | | Kein, ein oder mehrere Großbuchstaben | ||
|- | |- | ||
| | | | [a-zA-Z] | ||
| | | | Ein Buchstabe | ||
|- | |- | ||
| | | | [^0-9a-zA-Z] | ||
| | | | Symbole (weder Buchstaben noch Zahlen) | ||
|- | |- | ||
| | | | [0-9a-zA-Z] | ||
| | | | Jedes alphanumerische Zeichen | ||
|- | |- | ||
|} | |} | ||
== | == [[egrep]]/[[awk]] == | ||
{| class="wikitable sortable options big" | {| class="wikitable sortable options big" | ||
|- | |- | ||
| Zeile 172: | Zeile 172: | ||
| "8086", "80286", "80386", "80486" | | "8086", "80286", "80386", "80486" | ||
|- | |- | ||
| | | <nowiki>F(ahr|lug)zeug</nowiki> | ||
| "Fahrzeug" oder "Flugzeug" | | "Fahrzeug" oder "Flugzeug" | ||
|- | |- | ||
| Zeile 197: | Zeile 197: | ||
| Das Wort "Wort" | | Das Wort "Wort" | ||
|- | |- | ||
| | | s/.*/( & )/ | ||
| Leerzeichen wurden durch _ Tabulatoren durch TAB eretzt. Ex-Befehle werden mit Doppelpunkt eingeleitet. | | Leerzeichen wurden durch _ Tabulatoren durch TAB eretzt. Ex-Befehle werden mit Doppelpunkt eingeleitet. | ||
|- | |- | ||
Aktuelle Version vom 14. Juni 2026, 00:50 Uhr
RegEx/Anwendungen - Beispiele
Beispiele
| Aufgabe | Suchen | Ersetzen | Beschreibung |
|---|---|---|---|
| Absätze zusammenführen | ([a-zäüöß,-])\n([a-zäüöß]) | \1 \2 | |
| Absätze aufbrechen | \. ([a-zA-Z]) | . \n\* \1 | |
| Leerzeilen in Aufzählungen löschen | \n\n([a-z]) | \n* \1 | |
| Alleinstehende Aufzählungspunkte löschen | ^\* $ | ||
| Leere Absätze löschen | \n\n\n | \n\n | |
| Zeilenwechsel nach Überschriften löschen | =\n\n | =\n | |
| style-Attribute löschen | style=".*;" | ||
| DIV-Kontainer löschen | \<div.*\>(.*)\</div\> | \1 | |
| TT-Kontainer löschen | \<tt\>(.*)\</tt\> | \1 | |
| SPAN-Kontainer löschen | \<span\>(.*)\</span\> | \1 | |
| NOWIKI-Kontainer löschen | \</*nowiki\> | ||
| HTML-br | \<br/\> | \n | |
| Anker | \{\{anchor.*\}\} | ||
| Anker | \{\{anker.*\}\} | ||
| Referenzen |
\<ref\>.*\</ref\> | ||
| Tabelle formatieren | \{\| | {| class="wikitable sortable options" | |
| Non Braking Spaces | | ||
| Images | \[\[Image:.*\]\] | ||
| Images durch alt-Text ersetzen | alt="(.*)"\]\] | \1 | |
| Führende Leerzeichen | ^ * | ||
| Manpage Überschriften in Wiki-Überschriften | ^([[:upper:]]{2,}[ /_]?[[:upper:] ]*)$ | == \1 == | |
| Manpage Optionen in erste Tabellenzelle | (^-[A-Za-z0-9] ?[A-Za-z_\[\]:]*) | \1 | |
| TODOs auskommentieren | ^^('''TODO: '''.*$) | ^<!-- \1 --> | |
| Wikitable Spalten tauschen (Erste/Zweite) | (.*) \|\|(.*)$ | |\2 |\1 | |
| Führende Nummern in Wiki-Überschriften | = ([0-9]*\.)* ([A-Z]){1} | = \2 | |
| Leerzeichen am Zeilenende ersetzen | ( $) | ||
| Optionen in Wiki-Spalten | ^-(.*), --(.*)\n | |-\n| -\1 || --\2 || |
- Abkürzungen
| Suchen | Ersetzen |
|---|---|
| bzw\. | beziehungsweise |
| u\.U\. | gegebenenfalls |
| d\.h\. | das bedeutet, |
| z\.B\. | etwa |
| z\. B\. | etwa |
| u\.a\. | unter anderem |
| ggf\. | gegebenenfalls |
| usw\. | und so weiter |
Einfache Ausdrücke
| Haus | Die Zeichenfolge "Haus" |
| ^Haus | "Haus" am Zeilenanfang |
| Haus$ | "Haus" am Zeilenende |
| ^Haus$ | "Haus" als einziges Wort in einer Zeile |
| [Hh]aus | "Haus" oder "haus" |
| Ha[unl]s | "Haus", "Hals" oder "Hans" |
| [^HML]aus | Weder "Haus", noch "Maus", noch "Laus", dafür aber andere Zeichenfolgen, welche "aus" enthalten |
| Ha.s | Der dritte Buchstabe ist ein beliebiges Zeichen |
| ^...$ | Jede Zeile mit genau drei Zeichen |
| ^\. | Jede Zeile, die mit einem Punkt beginnt |
| ^\.[a-z][a-z] | Jede Zeile, die mit einem Punkt und zwei Kleinbuchstaben beginnt |
| ^\.[a-z]\{2\} | Wie oben, jedoch nur in grep und sed zulässig |
| ^[^.] | Jede Zeile, die nicht mit einem Punkt beginnt |
| Fehler* | "Fehle"(!), "Fehler", "Fehlers", etc |
| "Wort" | Ein Wort in Anführunszeichen |
| "*Wort"* | Ein Wort mit beliebig vielen (auch keinen) Anführungszeichen |
| [A-Z][A-Z]* | Ein oder mehrere Großbuchstaben. |
| [A-Z]+ | Wie oben, jedoch nur in egrep und awk zulässig |
| [A-Z].* | Ein Großbuchstabe, gefolgt von keinem oder beliebig vielen Zeichen |
| [A-Z]* | Kein, ein oder mehrere Großbuchstaben |
| [a-zA-Z] | Ein Buchstabe |
| [^0-9a-zA-Z] | Symbole (weder Buchstaben noch Zahlen) |
| [0-9a-zA-Z] | Jedes alphanumerische Zeichen |
| [567] | Eine der Zahlen 5, 6 oder 7 |
| fuenf|sechs|sieben | Eines der Worte fünf, sechs oder sieben |
| 80[234]?86> | "8086", "80286", "80386", "80486" |
| F(ahr|lug)zeug | "Fahrzeug" oder "Flugzeug" |
| 0\{5,\}* | Fünf oder mehr Nullen in Folge |
| [0-9]-[0-9]\{3\}-[0-9]\{5\}-[0-9X]* | ISBN-Nummern in der Form n-nnn-nnnnn-n, das letzte Zeichen kann auch ein X sein |
| \<The | Wörter wie "Theater" oder "Thema" |
| ung\> | Wörter wie "Teilung" oder "Endung" |
| \<Wort\> | Das Wort "Wort" |
| s/.*/( & )/ | Leerzeichen wurden durch _ Tabulatoren durch TAB eretzt. Ex-Befehle werden mit Doppelpunkt eingeleitet. |
| s/.*/mv & &.old/ | Wiederholt die ganze Zeile, fügt aber Klammern hinzu |
| /^$/d | Formt eine Wortliste (ein Wort pro Zeile) zu mv-Befehlen um |
| /^[_TAB]*$/d | Löscht Leerzeilen |
| / */ /g | Löscht Leerzeilen und Zeilen, die nur aus Leerzeichen oder Tabulatoren bestehen |
| :s/[0-9]/Element &:/ | Wandelt ein oder mehrere Leerzeichen in ein Leerzeichen um |
| :s | Wandelt (in der aktuellen Zeile) eine Zahl in ein Label für ein Element um |
| :& | Wiederholt die Substitution beim ersten Vorkommen |
| :sg | Wie oben |
| :&g | Wie oben, aber für alle Vorkommen in einer Zeile |
| :%&g | Wie oben |
| :.,$s/Wort/\U&/g | Wiederholt die Substitution im ganzen Puffer |
| :%s/.*/\L&/ | Wandelt von der aktuellen bis zur letzten Zeile das Wort Wort in Großschreibung um |
| :s/\<./\u&/g | Wandelt die gesamte Datei in Kleinschreibung um |
| :%s/ja/nein/g | Wandelt den ersten Buchstaben jedes Wortes in der aktuellen Zeile in Großschreibung um |
| :%s/Ja/~/g | Ersetzt global ein anderes Wort (Ja) durch nein (Wiederverwendung des vorherigen Ersatzmusters) |