RegEx/Anwendungen: Unterschied zwischen den Versionen

Aus Foxwiki
Zeile 90: Zeile 90:
|-
|-
| Optionen in Wiki-Spalten || <nowiki> ^-(.*), --(.*)\n </nowiki> || <nowiki> |-\n| -\1 || --\2 ||  </nowiki>
| Optionen in Wiki-Spalten || <nowiki> ^-(.*), --(.*)\n </nowiki> || <nowiki> |-\n| -\1 || --\2 ||  </nowiki>
|}
==  Einfache Ausdrücke ==
{| class="wikitable sortable options"
|-
|  | 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
|-
|}
|}



Version vom 12. Dezember 2024, 08:51 Uhr

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 &nbsp;
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\.&nbsp;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)