RegEx/Anwendungen: Unterschied zwischen den Versionen
K Textersetzung - „Kategorie:Regular expression“ durch „Kategorie:Regular Expression“  | 
				Keine Bearbeitungszusammenfassung  | 
				||
| Zeile 1: | Zeile 1: | ||
{| class="wikitable sortable options"  | |||
|-  | |||
! Aufgabe !! Suchen !! Ersetzen !! Beschreibung  | |||
|-  | |||
| Absätze aufbrechen || \. ([a-zA-Z])  || . \n\* \1||   | |||
|-  | |||
| Leerzeilen in Aufzählungen entfernen || \n\n([a-z]) || \n* \1||  | |||
|-  | |||
| Alleinstehende Aufzählungspunkte entfernen || ^\* $  ||||  | |||
|-  | |||
| Leere Absätze löschen || \n\n\n  || \n\n||  | |||
|-  | |||
| Zeilenwechsel nach Überschriften entfernen || =\n\n  || =\n||  | |||
|-  | |||
| style-Attribute entfernen || style=".*;" ||||  | |||
|-  | |||
| HTML-Kontainer || \<div.*\>(.*)\</div\> || \1||  | |||
|-  | |||
| HTML-Kontainer || \</*tt\> ||||  | |||
|-  | |||
| HTML-Kontainer || \</*span\> ||||  | |||
|-  | |||
| HTML-Kontainer || \</*nowiki\> ||||  | |||
|-  | |||
| HTML-br || <nowiki>\<br/\></nowiki> || \n||  | |||
|-  | |||
| Anker entfernen || \{\{.*\}\}  ||||  | |||
|-  | |||
| Referenzen entfernen || \<ref\>.*\</ref\> ||||  | |||
|-  | |||
| Referenzen entfernen || <nowiki><ref name=".*" /></nowiki> ||||  | |||
|-  | |||
| Tabelle formatieren || <nowiki>\{\|</nowiki>  || <nowiki>\{\| class="wikitable sortable options"</nowiki>||  | |||
|-  | |||
| Non Braking Spaces entfernen || &nbsp; ||||  | |||
|-  | |||
| Images entfernen || \[\[Image:.*\]\]  || ''||  | |||
|-  | |||
| Images durch alt-Text ersetzen || \[\[Image:.*\|alt="(.*)"\]\]  || \1||  | |||
|-  | |||
| Führende Leerzeichen entfernen || ^ * || ''||  | |||
|-  | |||
| Absätze zusammenführen || ([a-zäüöß,--])\n([a-zäüöß]) || \1 \2||  | |||
|-  | |||
| Manpage Überschriften formatieren  || ^(<nowiki>[[:upper:]]</nowiki>{2,}[ /_]?[[:upper:] ]*)$ || <nowiki>== \1 ==</nowiki>||  | |||
|-  | |||
| Manpage Optionen in erste Tabellenzelle || <nowiki>(^-[A-Za-z0-9] ?[A-Za-z_\[\]:]*)</nowiki> || | \1||  | |||
|-  | |||
| TODOs auskommentieren ||  <nowiki>^^('''TODO: '''.*$)</nowiki> ||  <nowiki> ^<!-- \1 --> </nowiki>||  | |||
|-  | |||
| Spalten tauschen (Erste/Zweite) || <nowiki>(.*) \|\|(.*)$</nowiki> || <nowiki> |\2 |\1 </nowiki>||  | |||
|-  | |||
| Führende Nummern in Wiki-Überschriften entfernen || <nowiki>= ([0-9]*\.)* ([A-Z]){1}</nowiki> || <nowiki>= \2</nowiki>||  | |||
|-  | |||
| Leerzeichen am Zeilenende ersetzen || <nowiki> ([^ ]) $ </nowiki> || \1 ||  | |||
|}  | |||
; Abkürzungen  | |||
{| class="wikitable sortable"  | |||
|-  | |||
! Gruppe !! Suchen !! Ersetzen  | |||
|-  | |||
| Abkürzungen || bzw\. || beziehungsweise  | |||
|-  | |||
| Abkürzungen || u\.U\. ||  gegebenenfalls  | |||
|-  | |||
| Abkürzungen || d\.h\. || das bedeutet,  | |||
|-  | |||
| Abkürzungen || z\.B\. || etwa  | |||
|-  | |||
| Abkürzungen || <nowiki>z\.&nbsp;B\.</nowiki> || etwa  | |||
|-  | |||
| Abkürzungen || u\.a\. || unter anderem  | |||
|-  | |||
| Abkürzungen || ggf\. || gegebenenfalls  | |||
|-  | |||
| Abkürzungen || usw\. || und so weiter   | |||
|}  | |||
; Test  | |||
{| class="wikitable sortable"  | |||
|-  | |||
! Aufgabe !! Suchen !! Ersetzen  | |||
|-  | |||
| TEST || <nowiki> ^-(.*), --(.*)\n </nowiki> || <nowiki> | -\1 || --\2 </nowiki>  | |||
|}  | |||
==  Einfache Übungen ==  | ==  Einfache Übungen ==  | ||
| Zeile 196: | Zeile 281: | ||
[[Kategorie:Linux/Dateien]]  | [[Kategorie:Linux/Dateien]]  | ||
[[Kategorie:IT-Grundlagen]]  | [[Kategorie:IT-Grundlagen]]  | ||
[[Kategorie:MediaWiki]]  | |||
Version vom 30. März 2023, 11:49 Uhr
| Aufgabe | Suchen | Ersetzen | Beschreibung | 
|---|---|---|---|
| Absätze aufbrechen | \. ([a-zA-Z]) | . \n\* \1 | |
| Leerzeilen in Aufzählungen entfernen | \n\n([a-z]) | \n* \1 | |
| Alleinstehende Aufzählungspunkte entfernen | ^\* $ | ||
| Leere Absätze löschen | \n\n\n | \n\n | |
| Zeilenwechsel nach Überschriften entfernen | =\n\n | =\n | |
| style-Attribute entfernen | style=".*;" | ||
| HTML-Kontainer | \<div.*\>(.*)\</div\> | \1 | |
| HTML-Kontainer | \</*tt\> | ||
| HTML-Kontainer | \</*span\> | ||
| HTML-Kontainer | \</*nowiki\> | ||
| HTML-br | \<br/\> | \n | |
| Anker entfernen | \{\{.*\}\} | ||
| Referenzen entfernen | \<ref\>.*\</ref\> | ||
| Referenzen entfernen | <ref name=".*" /> | ||
| Tabelle formatieren | \{\| | \{\| class="wikitable sortable options" | |
| Non Braking Spaces entfernen |   | ||
| Images entfernen | \[\[Image:.*\]\] | ||
| Images durch alt-Text ersetzen | alt="(.*)"\]\] | \1 | |
| Führende Leerzeichen entfernen | ^ * | ||
| Absätze zusammenführen | ([a-zäüöß,--])\n([a-zäüöß]) | \1 \2 | |
| Manpage Überschriften formatieren | ^([[:upper:]]{2,}[ /_]?[[:upper:] ]*)$ | == \1 == | |
| Manpage Optionen in erste Tabellenzelle | (^-[A-Za-z0-9] ?[A-Za-z_\[\]:]*) | \1 | |
| TODOs auskommentieren | ^^('''TODO: '''.*$) | ^<!-- \1 --> | |
| Spalten tauschen (Erste/Zweite) | (.*) \|\|(.*)$ | |\2 |\1 | |
| Führende Nummern in Wiki-Überschriften entfernen | = ([0-9]*\.)* ([A-Z]){1} | = \2 | |
| Leerzeichen am Zeilenende ersetzen | ([^ ]) $ | \1 | 
- Abkürzungen
 
| Gruppe | Suchen | Ersetzen | 
|---|---|---|
| Abkürzungen | bzw\. | beziehungsweise | 
| Abkürzungen | u\.U\. | gegebenenfalls | 
| Abkürzungen | d\.h\. | das bedeutet, | 
| Abkürzungen | z\.B\. | etwa | 
| Abkürzungen | z\. B\. | etwa | 
| Abkürzungen | u\.a\. | unter anderem | 
| Abkürzungen | ggf\. | gegebenenfalls | 
| Abkürzungen | usw\. | und so weiter | 
- Test
 
| Aufgabe | Suchen | Ersetzen | 
|---|---|---|
| TEST | ^-(.*), --(.*)\n | | -\1 || --\2 | 
Einfache Übungen
| # | 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 | 
Beispiele für egrep- oder awk-Muster
[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"
Beispiele für vi-Muster
\<The * Wörter wie "Theater" oder "Thema"
ung\> * Wörter wie "Teilung" oder "Endung"
\<Wort\> * Das Wort "Wort"
Beispiele für 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
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)