RegEx/Anwendungen
Regular Expressions
Beispiele
| Aufgabe | Suchen | Ersetzen | Beschreibung |
|---|---|---|---|
| Absätze aufbrechen | \. ([a-zA-Z]) | . \n\* \1 | |
| Absätze zusammenführen | ([a-zäüöß,-])\n([a-zäüöß]) | \1 \2 | |
| Leerzeilen in Aufzählungen | \n\n([a-z]) | \n* \1 | |
| Alleinstehende Aufzählungspunkte | ^\* $ | ||
| Leere Absätze löschen | \n\n\n | \n\n | |
| Zeilenwechsel nach Überschriften | =\n\n | =\n | |
| style-Attribute | style=".*;" | ||
| HTML-Kontainer | \<div.*\>(.*)\</div\> | \1 | |
| HTML-Kontainer | \<tt\>(.*)\</tt\> | \1 | |
| HTML-Kontainer | \<span\>(.*)\</span\> | \1 | |
| HTML-Kontainer | \</*nowiki\> | ||
| HTML-br | \<br/\> | \n | |
| Anker | \{\{anchor.*\}\} | ||
| Anker | \{\{anker.*\}\} | ||
| Referenzen | \<ref\>.*\</ref\> | ||
| Referenzen | <ref name=.*</ref> | ||
| Referenzen | <ref name=.*/> | ||
| 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 | ( $) |
- 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 |
- Test
| Aufgabe | Suchen | Ersetzen |
|---|---|---|
| Optionen in Wiki-Spalten | ^-(.*), --(.*)\n | |-\n| -\1 || --\2 || |
egrep- oder awk-Muster
Eine der Zahlen 5, 6 oder 7
[567]
Eines der Worte fünf, sechs oder sieben
fuenf|sechs|sieben
"8086", "80286", "80386", "80486"
80[234]?86>
"Fahrzeug" oder "Flugzeug"
F(ahr|lug)zeug
sed- oder grep-Muster
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
VIM-Beispiele
\<The
- Wörter wie "Theater" oder "Thema"
ung\>
- Wörter wie "Teilung" oder "Endung"
\<Wort\>
- Das Wort "Wort"
Leerzeichen wurden durch _ Tabulatoren durch TAB eretzt. Ex-Befehle werden mit Doppelpunkt eingeleitet.
s/.*/( & )/
Wiederholt die ganze Zeile, fügt aber Klammern hinzu
s/.*/mv & &.old/
Formt eine Wortliste (ein Wort pro Zeile) zu mv-Befehlen um
/^$/d
Löscht Leerzeilen
/^[_TAB]*$/d
Löscht Leerzeilen und Zeilen, die nur aus Leerzeichen oder Tabulatoren bestehen
/ */ /g
Wandelt ein oder mehrere Leerzeichen in ein Leerzeichen um
:s/[0-9]/Element &:/
Wandelt (in der aktuellen Zeile) eine Zahl in ein Label für ein Element um
:s
Wiederholt die Substitution beim ersten Vorkommen
:&
Wie oben
:sg
Wie oben, aber für alle Vorkommen in einer Zeile
:&g
Wie oben
:%&g
Wiederholt die Substitution im ganzen Puffer
:.,$s/Wort/\U&/g
Wandelt von der aktuellen bis zur letzten Zeile das Wort Wort in Großschreibung um
:%s/.*/\L&/
Wandelt die gesamte Datei in Kleinschreibung um
:s/\<./\u&/g
Wandelt den ersten Buchstaben jedes Wortes in der aktuellen Zeile in Großschreibung um
:%s/ja/nein/g
Ersetzt das Wort ja durch nein
:%s/Ja/~/g
Ersetzt global ein anderes Wort (Ja) durch nein (Wiederverwendung des vorherigen Ersatzmusters)