REGAUS Reguläre Ausdrücke mit vielen Beispielen
Hier auf dieser Seite werde ich Euch viele Beispiele für reguläre Ausdrücke geben die Ihr ganz leicht mit LibreOffice Calc nachbilden könnt.
Reguläre Ausdrücke sind ein mächtiges Werkzeug um sehr detaillierte Vergleichsmuster zu erstellen.
Dabei werde ich mit einfachen Mustern anfangen die zum Ende hin immer komplexer werden.
Um damit selbst ein wenig herumexperimentieren zu können, könnt Ihr Euch gerne die Tabellen Vorlage hier direkt ganz einfach herunterladen. Die Vorlage enthält bereits die Formel REGAUS und zusätzlich die bedingte Formatierung, um Zellen zu markieren die leer sind.
Somit könnt Ihr auch einfach Eure eigenen Muster ausprobieren. Oben in
Zelle A1 stellt Ihr Euch das Muster zusammen, In
Zelle A2 könnt Ihr einen Ersetzungstext eintragen was optional ist, in
Zelle A3 kommt das Vorkommen oder ein Kennzeichen rein was ebenfalls optional ist und unten im
Bereich A5 bis A9 könnt Ihr Daten eintragen um das Muster zu testen.
Die REGAUS Formel selbst steht dann in den Zellen B5 bis B9 und gibt Euch die gewünschten Einträge aus.
HIER DER DOWNLOAD der Vorlage:
Download Regaus Funktion DOWNLOADVERSION.ods
Download Regaus Funktion DOWNLOADVERSION.ods als ZIP Datei
Ein Video was zeigt wie ich die Tabelle aufgebaut habe und einfache Grundlagen im Umgang mit regulären Ausdrücken findet Ihr ganz unten.
[ Zum Video ]
Ihr könnt gerne in die Kommentare Eure eigenen Muster eintragen, Wünsche zu neuen Mustern äußern und Euch bei Fragen natürlich auch gerne gegenseitig helfen. Ich denke das ganze Thema ist zwar etwas kompliziert aber macht auch richtig Spaß.
Tipp: Deckt die Spalte mit den Antworten ab und überlegt, welche Antwort Ihr erwarten würdest. So könnt Ihr Euer Wissen testen!
Funktionsaufbau von REGAUS
Die Funktion REGAUS prüft, ob der angegebene Text mit dem regulären Ausdruck übereinstimmt. Durch die Muster könnt Ihr dann festlegen ob ein Teil des Textes extrahiert oder ersetzt werden soll.
REGAUS(Text; Ausdruck [; Ersetzung] [; Kennzeichen oder Vorkommen])
Parameter:
- Text
Der Text, der auf das Muster überprüft werden soll. Dies kann ein direkter Textstring (in Anführungszeichen) oder ein Verweis auf eine Zelle sein, die einen Text enthält. - Ausdruck
Der reguläre Ausdruck, der im Text gesucht wird. Es wird überprüft, ob der Text mit dem Muster übereinstimmt (gemäß der ICU-Syntax). - Ersetzung (optional)
Der Text, der anstelle des gefundenen Musters eingesetzt werden soll. - Kennzeichen oder Vorkommen (optional)
Kennzeichen: Verwendung von "g" für die globale Ersetzung aller Vorkommen des Musters.
Vorkommen: Eine Zahl, die angibt, welches Vorkommen des Musters extrahiert oder ersetzt werden soll.
Ihr könnt hier g eingeben damit alle gefundenen Übereinstimmungen ersetzt oder extrahiert werden sollen. Gebt Ihr hier eine 1 ein, wird nur der erste Treffer benutz, bei 2 der zweite und so weiter.
Metazeichen
Hier ist eine Auflistung von vielen Metazeichen die Euch auf dieser Seite begegnen könnten. Um das etwas besser zu verstehen gibt es natürlich auch eine kurze Beschreibung dazu
Metazeichen | Bedeutung | Beispiel |
---|---|---|
. |
Beliebiges Zeichen außer Zeilenumbrüchen | a.c findet "abc", "a1c", aber nicht "ac" |
\d |
Beliebige Ziffer (0–9) | \d+ findet "12345" |
\D |
Kein Ziffernzeichen | \D+ findet "abc" |
\w |
Alphanumerisches Zeichen oder Unterstrich | \w+ findet "abc_123" |
\W |
Kein alphanumerisches Zeichen | \W+ findet "!@# " |
\s |
Beliebiges Leerzeichen (auch Tab) | a\s+b findet "a b" |
\S |
Kein Leerzeichen | \S+ findet "abc123" |
^ |
Anfang der Zeichenkette | ^abc findet "abc" am Anfang |
$ |
Ende der Zeichenkette | abc$ findet "abc" am Ende |
* |
0 oder mehr Wiederholungen | ab*c findet "ac", "abc", "abbc" |
+ |
1 oder mehr Wiederholungen | ab+c findet "abc", "abbc", aber nicht "ac" |
? |
0 oder 1 Wiederholung | ab?c findet "ac", "abc" |
{n} |
Genau n Wiederholungen | a{3} findet "aaa" |
{n,} |
Mindestens n Wiederholungen | a{2,} findet "aa", "aaa", "aaaa" |
{n,m} |
Zwischen n und m Wiederholungen | a{2,4} findet "aa", "aaa", "aaaa" |
\| |
Alternativen (oder) | a\|b findet "a" oder "b" |
( ) |
Gruppierung | (ab)+ findet "abab" |
[ ] |
Zeichenklasse | [abc] findet "a", "b" oder "c" |
[^ ] |
Negierte Zeichenklasse | [^abc] findet alles außer "a", "b" oder "c" |
Maskierung von Metazeichen in der LibreOffice Calc-Funktion REGAUS
Ihr könnt Zeichen mit einem Backslash \ maskieren um zum Beispiel nach diesen Zeichen zu suchen.
Zeichen | Bedeutung (unmaskiert) | Maskierung erforderlich? |
---|---|---|
\ |
Escape-Zeichen (zum Maskieren anderer Zeichen) | Ja, wenn Ihr einen Backslash suchen möchtet (als \\ in Formeln) |
. |
Beliebiges Zeichen außer Zeilenumbruch | Ja, wenn Ihr einen Punkt suchen möchtet (als \. ) |
^ |
Anfang eines Strings oder einer Zeile | Ja, wenn Ihr ^ suchen möchtet (als \^ ) |
$ |
Ende eines Strings oder einer Zeile | Ja, wenn Ihr $ suchen möchtet (als \$ ) |
* |
Wiederholung (0 oder mehr) | Ja, wenn Ihr * suchen möchtet (als \* ) |
+ |
Wiederholung (1 oder mehr) | Ja, wenn Ihr + suchen möchtet (als \+ ) |
? |
Optional (0 oder 1) | Ja, wenn Ihr ? suchen möchtet (als \? ) |
{ } |
Quantifizierer (z. B. {1,3} ) |
Ja, wenn Ihr { oder } suchen möchtet (als \{ oder \} ) |
( ) |
Gruppierung oder Capturing Groups | Ja, wenn Ihr ( oder ) suchen möchtet (als \( oder \) ) |
[ ] |
Zeichenklassen | Ja, wenn Ihr [ oder ] suchen möchtet (als \[ oder \] ) |
| |
ODER-Bedingung | Ja, wenn Ihr | suchen möchtet (als \| ) |
/ |
Schrägstrich (kein spezielles Zeichen in regulären Ausdrücken) | Nein |
- |
Spanne in Zeichenklassen (z. B. [a-z] ) |
Ja, wenn Ihr den Bindestrich innerhalb von Zeichenklassen verwenden möchtet (z. B. zwischen anderen Zeichen, als \- ).Am Anfang oder Ende der Zeichenklasse muss er nicht maskiert werden. |
` |
Backtick (keine spezielle Bedeutung) | Nein |
Einfache Beispiele für die LibreOffice Calc Funktion REGAUS
Ausdruck: a
Ersetzung: @
Kennzeichen | Vorkommen: g
Erklärung:
Der Ausdruck a findet alle Vorkommen des Buchstabens 'a'. Mit der Ersetzung @ werden alle 'a' durch '@' ersetzt.
A | B | |
---|---|---|
1 | a | |
2 | @ | |
3 | g | |
4 | ||
5 | Hallo Welt | H@llo Welt |
6 | Banane | B@n@ne |
7 | LibreOffice Calc | LibreOffice C@lc |
8 | Katze und Hund | K@tze und Hund |
9 | Das Alphabet | D@s Alph@bet |
Ausdruck: \.
Ersetzung: !
Kennzeichen | Vorkommen: g
Erklärung:
Der Ausdruck \. findet alle Punkte im Text. Mit der Ersetzung ! werden alle Punkte durch Ausrufezeichen ersetzt.
A | B | |
---|---|---|
1 | \. | |
2 | ! | |
3 | g | |
4 | ||
5 | Das ist ein Satz. | Das ist ein Satz! |
6 | 1.2.3.4. | 1!2!3!4! |
7 | Ende. | Ende! |
8 | www.beispiel.de | www!beispiel!de |
9 | Kein Punkt hier | Kein Punkt hier |
Ausdruck: [aeiouAEIOU]
Ersetzung: (nichts, also leer)
Kennzeichen | Vorkommen: g
Erklärung:
Der Ausdruck [aeiouAEIOU] findet alle Vokale, sowohl in Klein- als auch Großschreibung. Mit der Ersetzung durch nichts werden alle Vokale aus dem Text entfernt.
A | B | |
---|---|---|
1 | [aeiouAEIOU] | |
2 | ||
3 | g | |
4 | ||
5 | Das ist ein Satz. | Ds st n Stz. |
6 | 1.2.3.4. | 1.2.3.4. |
7 | Ende. | nd. |
8 | www.beispiel.de | www.bspl.d |
9 | Kein Punkt hier | Kn Pnkt hr |
Ausdruck: \b([aeiouAEIOU]\w*)
Ersetzung: $1<
Kennzeichen | Vorkommen: g
Erklärung:
Dieser Ausdruck findet Wörter, die mit einem Vokal beginnen, und umgibt sie mit spitzen Klammern. Die Gruppe ([aeiouAEIOU]\w*) erfasst das gesamte Wort.
A | B | |
---|---|---|
1 | \b([aeiouAEIOU]\w*) | |
2 | >$1< | |
3 | g | |
4 | ||
5 | Ein einfacher Text | >Ein< >einfacher< Text |
6 | Das ist ein Test | Das >ist< >ein< Test |
7 | Das kann nicht sein | Das kann nicht sein |
8 | Anfangsvokal | >Anfangsvokal< |
9 | Hier kommt noch ein Eintrag | Hier kommt noch >ein< >Eintrag< |
Ausdruck: (\d)
Ersetzung: [$1]
Kennzeichen | Vorkommen: (leer)
Erklärung:
Der Ausdruck (\d) findet die erste Ziffer im Text. Mit den Klammern wird eine Gruppe gebildet die dann durch $1 im Ersetzungbereich ausgelesen werden kann. Mit der Ersetzung [$1] wird diese Ziffer in eckige Klammern gesetzt. Da keine Kennzeichen angegeben sind, wird nur das erste Vorkommen ersetzt. Wollt Ihr alle Vorkommen ändern müsst Ihr wieder ein g eintragen.
A | B | |
---|---|---|
1 | (\d) | |
2 | [$1] | |
3 | ||
4 | ||
5 | Das ist ein Satz mit 1 2 3 4 Zahlen | Das ist ein Satz mit [1] 2 3 4 Zahlen |
6 | 1.2.3.4. | [1].2.3.4. |
7 | Ende. | Ende. |
8 | Keine Zahl hier | Keine Zahl hier |
9 | 12345 | [1]2345 |
Ausdruck: \s\w+$
Ersetzung: (nichts, also leer)
Kennzeichen | Vorkommen: (leer)
Erklärung:
Der Ausdruck \s\w+$ findet das letzte Wort im Text inklusive des vorangestellten Leerzeichens. Mit der Ersetzung durch nichts wird das letzte Wort entfernt. Da keine Kennzeichen angegeben sind, wird nur das erste Vorkommen von rechts ersetzt.
A | B | |
---|---|---|
1 | \s\w+$ | |
2 | ||
3 | ||
4 | ||
5 | Das ist ein Satz mit 1 2 3 4 Zahlen | Das ist ein Satz mit 1 2 3 4 |
6 | 1.2.3.4. | 1.2.3.4. |
7 | Hier kommt ein Satz ohne Ende | Hier kommt ein Satz ohne |
8 | Hier ist noch ein Satz mit Zahlen 12345 | Hier ist noch ein Satz mit Zahlen |
9 | Entferne das letzte Wort | Entferne das letzte |
Ausdruck: \s
Ersetzung: (nichts, also leer)
Kennzeichen | Vorkommen: g
Erklärung:
Der Ausdruck \s steht für ein Leerzeichen. Durch die Ersetzung mit einem leeren Wert werden alle Leerzeichen aus dem Text entfernt.
A | B | |
---|---|---|
1 | \s | |
2 | ||
3 | g | |
4 | ||
5 | Hallo Welt | HalloWelt |
6 | Libre Office Calc | LibreOfficeCalc |
7 | A B C D E | ABCDE |
8 | Keine Leerzeichen | KeineLeerzeichen |
9 | 123 456 789 | 123456789 |
Ausdruck: Test
Ersetzung: Beispiel
Kennzeichen | Vorkommen: g
Erklärung:
Der Ausdruck Test findet alle Vorkommen des Wortes 'Test'. Mit der Ersetzung Beispiel werden alle 'Test' durch 'Beispiel' ersetzt.
A | B | |
---|---|---|
1 | Test | |
2 | Beispiel | |
3 | g | |
4 | ||
5 | Hier kommt ein Test | Hier kommt ein Beispiel |
6 | Unit-Test erfolgreich | Unit-Beispiel erfolgreich |
7 | Testen wir es | Beispielen wir es |
8 | Test Test Test | Beispiel Beispiel Beispiel |
9 | Entferne das mal | Entferne das mal |
Ausdruck: \D
Ersetzung: (nichts, also leer)
Kennzeichen | Vorkommen: g
Erklärung:
Der Ausdruck \D findet alle Nicht-Ziffern im Text. Mit der Ersetzung durch nichts werden alle Buchstaben und Sonderzeichen entfernt, sodass nur die Zahlen übrig bleiben.
A | B | |
---|---|---|
1 | \D | |
2 | ||
3 | g | |
4 | ||
5 | Artikelnummer 12345678 | 12345678 |
6 | Preis: 9,99 € | 999 |
7 | Datum: 01.01.2025 | 01012025 |
8 | Tel: +49 (0) 123 456789 | 490123456789 |
9 | Keine Zahlen hier |
Ausdruck: \b(\w)\w*
Ersetzung: $1
Kennzeichen | Vorkommen: g
Erklärung:
Der Ausdruck \b(\w)\w* findet jedes Wort und erfasst den ersten Buchstaben. Mit der Ersetzung $1 werden nur die Anfangsbuchstaben jedes Wortes ausgegeben.
A | B | |
---|---|---|
1 | \b(\w)\w* | |
2 | $1 | |
3 | g | |
4 | ||
5 | Das ist ein Test | D i e T |
6 | LibreOffice Calc | L C |
7 | Anfangsbuchstaben | A |
8 | Extrahiere die Buchstaben | E d B |
9 | Nur ein Wort | N e W |
Ausdruck: \d+\s?
Ersetzung: (nichts, also leer)
Kennzeichen | Vorkommen: g
Erklärung:
Der Ausdruck \d+ steht für mindestens eine oder viele Ziffern.
\s? steht für Leerzeichen. Entweder eins oder keins wird durch das ? Zeichen festgelegt
Durch die Ersetzung mit einem leeren Wert werden alle Ziffern aus dem Text entfernt.
A | B | |
---|---|---|
1 | \d+\s? | |
2 | ||
3 | g | |
4 | ||
5 | 123 Hallo Welt | Hallo Welt |
6 | Libre123Office456 | LibreOffice |
7 | 2024 ist das Jahr | ist das Jahr |
8 | Erste123Zweite456 | ErsteZweite |
9 | 1234567890 |
Ausdruck: \s{1,}
Ersetzung: (ein einzelnes Leerzeichen)
Kennzeichen | Vorkommen: g
Erklärung: Der Ausdruck \s{1,} sucht nach einem oder mehr aufeinanderfolgenden Leerzeichen. Mit dem Kennzeichen g werden alle diese Vorkommen durch ein einzelnes Leerzeichen ersetzt.
A | B | |
---|---|---|
1 | \s{1,} | |
2 | ||
3 | g | |
4 | ||
5 | 123 Hallo Welt | 123 Hallo Welt |
6 | Libre Office 456 | Libre Office 456 |
7 | 2024 00999 999 8 | 2024 00999 999 8 |
8 | Erste123Zweite456 | Erste123Zweite456 |
9 | A B C D E | A B C D E |
Ausdruck: \[(.*?)\]
Ersetzung: $1
Kennzeichen | Vorkommen: g
Erklärung:
Der Ausdruck \[(.*?)\] sucht nach Text, der in eckigen Klammern steht. Das Fragezeichen ? macht die Suche nicht-gierig, sodass nur der Inhalt bis zur nächsten schließenden Klammer erfasst wird. Mit $1 wird der erfasste Inhalt der Klammern ausgegeben.
A | B | |
---|---|---|
1 | \[(.*?)\] | |
2 | $1 | |
3 | g | |
4 | ||
5 | [Text] ist hier | Text ist hier |
6 | Dies [ist] ein [Test] | Dies ist ein Test |
7 | [LibreOffice] Tutorial | LibreOffice Tutorial |
8 | Nur [einmal] | Nur einmal |
9 | [Extraktion] | Extraktion |
Mittelschwere Beispiele für die LibreOffice Calc Funktion REGAUS
Ausdruck: \b(\w+)(heit|keit|ung|schaft)\b
Ersetzung: $1
Kennzeichen | Vorkommen: g
Erklärung:
Dieser Ausdruck findet Wörter, die auf "heit", "keit", "ung" oder "schaft" enden, und entfernt diese Endungen.
A | B | |
---|---|---|
1 | \b(\w+)(heit|keit|ung|schaft)\b | |
2 | $1 | |
3 | g | |
4 | ||
5 | Schönheit und Freiheit | Schön und Frei |
6 | Entwicklung der Wissenschaft | Entwickl der Wissen |
7 | Gemeinschaft und Einigkeit | Gemein und Einig |
8 | Keine passenden Wörter | Keine passenden Wörter |
9 | Bedeutung und Richtung | Bedeut und Richt |
Ausdruck: <[^>]+>
Ersetzung: (nichts, also leer)
Kennzeichen | Vorkommen: g
Erklärung:
Dieser Ausdruck findet alle HTML-Tags im Text und entfernt sie. Das Kennzeichen g stellt sicher, dass alle Tags im Text entfernt werden.
A | B | |
---|---|---|
1 | <[^>]+> | |
2 | ||
3 | g | |
4 | ||
5 | <b>Fett</b> und <i>Kursiv</i> | Fett und Kursiv |
6 | <div>Inhalt</div> | Inhalt |
7 | <p>Paragraph</p><br><a href='#'>Link</a> | ParagraphLink |
8 | Kein HTML hier | Kein HTML hier |
9 | <span style='color:red;'>Rot</span> | Rot |
Ausdruck: \b(\w+)\s+\1\b
Ersetzung: $1
Kennzeichen | Vorkommen: g
Erklärung:
Dieser Ausdruck findet doppelte aufeinanderfolgende Wörter und entfernt das Duplikat. Das Kennzeichen g sorgt dafür, dass alle doppelten Wörter im Text gefunden und bereinigt werden.
A | B | |
---|---|---|
1 | \b(\w+)\s+\1\b | |
2 | $1 | |
3 | g | |
4 | ||
5 | Dies ist ist ein Test | Dies ist ein Test |
6 | Ich gehe gehe nach Hause | Ich gehe nach Hause |
7 | Keine doppelten Wörter hier | Keine doppelten Wörter hier |
8 | Wörter Wörter Fehler Fehler gefunden | Wörter Fehler gefunden |
9 | Wiederholung Wiederholung | Wiederholung |
Ausdruck: (https?://[^\s]+)
Ersetzung: [Link]
Kennzeichen | Vorkommen: g
Erklärung:
Dieser Ausdruck findet URLs im Text und ersetzt sie durch [Link]. Das Kennzeichen g sorgt dafür, dass alle URLs im Text gefunden werden.
A | B | |
---|---|---|
1 | (https?://[^\s]+) | |
2 | [Link] | |
3 | g | |
4 | ||
5 | Besuche https://www.beispiel.de | Besuche [Link] |
6 | Websites: http://seite1.com und https://seite2.org | Websites: [Link]und [Link] |
7 | Kein Link hier | Kein Link hier |
8 | Folge dem Link: https://openai.com | Folge dem Link: [Link] |
9 | Links entfernen http://test.de | Links entfernen [Link] |
Ausdruck: ([a-zA-Z0-9._%+-]+)@([a-zA-Z0-9.-]+\.[a-zA-Z]{2,})
Ersetzung: ***@***
Kennzeichen | Vorkommen: g
Erklärung:
Dieser Ausdruck findet E-Mail-Adressen im Text. Mit der Ersetzung ***@*** werden die E-Mail-Adressen maskiert. Das Kennzeichen g sorgt dafür, dass alle E-Mail-Adressen im Text gefunden
A | B | |
---|---|---|
1 | ([a-zA-Z0-9._%+-]+)@([a-zA-Z0-9.-]+\.[a-zA-Z]{2,}) | |
2 | ***@*** | |
3 | g | |
4 | ||
5 | Kontakt: name@example.com | Kontakt: ***@*** |
6 | Bitte an info@firma.de schreiben | Bitte an ***@*** schreiben |
7 | Emails: user1@mail.com und user2@mail.com | Emails: ***@*** und ***@*** |
8 | Keine E-Mail hier | Keine E-Mail hier |
9 | admin@domain.org ist erreichbar | ***@*** ist erreichbar |
Ausdruck: (\d{3})-(\d{3})-(\d{4})
Ersetzung: ($1) $2-$3
Kennzeichen | Vorkommen: g
Erklärung:
Dieser Ausdruck findet Telefonnummern im Format 123-456-7890 und formatiert sie in das Format (123) 456-7890. Das Kennzeichen g sorgt dafür, dass alle passenden Telefonnummern im Text formatiert werden.
A | B | |
---|---|---|
1 | (\d{3})-(\d{3})-(\d{4}) | |
2 | ($1) $2-$3 | |
3 | g | |
4 | ||
5 | Rufen Sie an unter 123-456-7890 | Rufen Sie an unter (123) 456-7890 |
6 | Nummern: 111-222-3333 und 444-555-6666 | Nummern: (111) 222-3333 und (444) 555-6666 |
7 | Keine Nummer hier | Keine Nummer hier |
8 | Kontakt: 777-888-9999 | Kontakt: (777) 888-9999 |
9 | Telefon: 000-000-0000 | Telefon: (000) 000-0000 |
Ausdruck: \b\w{6,}\b
Ersetzung: [$1]
Kennzeichen | Vorkommen: g
Erklärung:
Dieser Ausdruck findet Wörter, die aus 6 oder mehr Buchstaben bestehen. Mit der Ersetzung [$1] werden diese Wörter in eckige Klammern gesetzt.
A | B | |
---|---|---|
1 | \b(\w{6,})\b | |
2 | [$1] | |
3 | g | |
4 | ||
5 | Der Satz hat nur kurze Worte | Der Satz hat nur kurze Worte |
6 | Dieser hier hat superlange Worte | [Dieser] hier hat [superlange] Worte |
7 | Nochmal das gleiche bitte | [Nochmal] das [gleiche] bitte |
8 | Sehr kurze Worte die nicht gehen | Sehr kurze Worte die nicht gehen |
9 | Hier eine bessere Variante | Hier eine [bessere] [Variante] |
Ausdruck: (-\d+)
Ersetzung: ($1)
Kennzeichen | Vorkommen: g
Erklärung:**
Dieser Ausdruck findet negative Zahlen und setzt sie in Klammern. Mit dem Kennzeichen g werden alle Vorkommen im Text berücksichtigt.
A | B | |
---|---|---|
1 | (-\d+) | |
2 | ($1) | |
3 | g | |
4 | ||
5 | Kontostand: -1000 Euro | Kontostand: (-1000) Euro |
6 | Temperatur: -5 Grad | Temperatur: (-5) Grad |
7 | Gewinne: 100 und Verluste: -200 | Gewinne: 100 und Verluste: (-200) |
8 | -1, -2, -3, 4, 5 | (-1), (-2), (-3), 4, 5 |
9 | Keine negativen Zahlen | Keine negativen Zahlen |
Ausdruck: \b\d{5}\b
Ersetzung: [gültige PLZ: $&]
Kennzeichen | Vorkommen: g
Erklärung:
Dieser Ausdruck findet fünfstellige Postleitzahlen und markiert sie als gültig.
A | B | |
---|---|---|
1 | \b\d{5}\b | |
2 | [gültige PLZ: $0] | |
3 | g | |
4 | ||
5 | PLZ: 10115 Berlin | PLZ: [gültige PLZ: 10115] Berlin |
6 | Adresse: 80331 München | Adresse: [gültige PLZ: 80331] München |
7 | Ungültige PLZ: 1234 | Ungültige PLZ: 1234 |
8 | Postleitzahl 123456 ist falsch | Postleitzahl 123456 ist falsch |
9 | Keine PLZ hier | Keine PLZ hier |
Ausdruck: \b\d{1,3}(\.\d{1,3}){3}\b
Ersetzung: [IP-Adresse]
Kennzeichen | Vorkommen: g
Erklärung:
Dieser Ausdruck findet IPv4-Adressen im Text und ersetzt sie durch [IP-Adresse]. Mit dem Kennzeichen g werden alle Vorkommen im Text berücksichtigt.
A | B | |
---|---|---|
1 | \b\d{1,3}(\.\d{1,3}){3}\b | |
2 | [IP-ADRESSE] | |
3 | g | |
4 | ||
5 | Server erreichbar unter 192.168.1.1 | Server erreichbar unter [IP-ADRESSE] |
6 | Zugriff von 10.0.0.5 und 172.16.0.2 | Zugriff von [IP-ADRESSE] und [IP-ADRESSE] |
7 | Keine IP hier | Keine IP hier |
8 | Netzwerk: 255.255.255.0 | Netzwerk: [IP-ADRESSE] |
Ausdruck: ([A-Z]{3})(\d{4})([A-Z]{2})
Ersetzung: $1-$2-$3
Kennzeichen | Vorkommen: g
Erklärung:
Dieser Ausdruck findet Seriennummern im Format ABC1234DE und formatiert sie zu ABC-1234-DE. Die Gruppen werden genutzt, um Teile der Seriennummer zu erfassen und mit Trennstrichen neu anzuordnen.
A | B | |
---|---|---|
1 | ([A-Z]{3})(\d{4})([A-Z]{2}) | |
2 | $1-$2-$3 | |
3 | g | |
4 | ||
5 | Seriennummer: XYZ5678AB | Seriennummer: XYZ-5678-AB |
6 | Code: ABC1234DE | Code: ABC-1234-DE |
7 | Produkt: DEF9101GH | Produkt: DEF-9101-GH |
8 | Keine Seriennummer | Keine Seriennummer |
9 | Nummer: GHI2345JK | Nummer: GHI-2345-JK |
Komplexere Beispiele für die LibreOffice Calc Funktion REGAUS
Ausdruck: <(\w+)[^>]*>(.*?)</\1>
Ersetzung: $2
Kennzeichen | Vorkommen: g
Erklärung:
Dieser Ausdruck findet HTML-Tags und ersetzt sie durch ihren Inhalt. Die erste Gruppe (\w+) erfasst den Tag-Namen, und .*? erfasst alle Attribute innerhalb des Tags. Die zweite Gruppe (.*?) erfasst den Inhalt zwischen den öffnenden und schließenden Tags.
A | B | |
---|---|---|
1 | <(\w+)[^>]*>(.*?)</\1> | |
2 | $2 | |
3 | g | |
4 | ||
5 | <p>Dies ist ein Absatz.</p> | Dies ist ein Absatz. |
6 | <div class="container">Inhalt</div> | Inhalt |
7 | <span style="color:red;">Roter Text</span> | Roter Text |
8 | <b>Hier ist fetter Text</b> | Hier ist fetter Text |
9 | Kein HTML-Tag hier | Kein HTML-Tag hier |
Ausdruck: (https?://[^\s]+)
Ersetzung: $1
Kennzeichen | Vorkommen: g
Erklärung:
Dieser Ausdruck findet URLs und wandelt sie in anklickbare HTML-Links um. Die Gruppe (https?://[^\s]+) erfasst die URL.
A | B | |
---|---|---|
1 | (https?://[^\s]+) | |
2 | <a href="$1">$1</a> | |
3 | g | |
4 | ||
5 | Besuche https://www.example.com | Besuche <a href="https://www.example.com">https://www.example.com</a> |
6 | Webseite: http://test.de | Webseite: <a href="http://test.de">http://test.de</a> |
7 | Mehr Infos unter https://info.org | Mehr Infos unter <a href="https://info.org">https://info.org</a> |
8 | Links: http://link1.com http://link2.com | Links: <a href="http://link1.com">http://link1.com</a> <a href="http://link2.com">http://link2.com</a> |
Ausdruck: ISBN(?:-1[03])?:?\s*(\d{1,5})[\s-]?(\d{1,7})[\s-]?(\d{1,7})[\s-]?([\dX])
Ersetzung: ISBN $1-$2-$3-$4
Kennzeichen | Vorkommen: g
Erklärung:
Dieser Ausdruck findet ISBN-Nummern in verschiedenen Formaten und wandelt sie in ein einheitliches Format um. Die Gruppen erfassen die einzelnen Teile der ISBN.
A | B | |
---|---|---|
1 | ISBN(?:-1[03])?:?\s*(\d{1,5})[\s-]?(\d{1,7})[\s-]?(\d{1,7})[\s-]?([\dX]) | |
2 | ISBN $1-$2-$3-$4 | |
3 | g | |
4 | ||
5 | ISBN 9780306406157 | ISBN 97803-064061-5-7 |
6 | ISBN-13: 978 0 306 40615 7 | ISBN 978-0-306-40615 7 |
7 | ISBN-10: 0-306-40615-2 | ISBN 0-306-40615-2 |
8 | Keine ISBN hier | Keine ISBN hier |
Ausdruck: //.*$|/\*[\s\S]*\*/
Ersetzung: (nichts, also leer)
Kennzeichen | Vorkommen: g
Erklärung:
Dieser Ausdruck entfernt sowohl einzeilige (//…) als auch mehrzeilige (/*…*/) JavaScript-Kommentare aus dem Text.
A | B | |
---|---|---|
1 | //.*$|/\*[\s\S]*\*/ | |
2 | ||
3 | g | |
4 | ||
5 | var x = 5; // Dies ist ein Kommentar | var x = 5; |
6 | /* Mehrzeiliger \n Kommentar */var y = 10; | var y = 10; |
7 | // Einzelzeiliger Kommentar \n var z = x + y; | |
8 | /* Verschachtelte /* Kommentare */ sind tricky */ |
Ausdruck: ^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)$
Ersetzung: Gültige IP
Kennzeichen | Vorkommen:
Erklärung:
Dieser Ausdruck überprüft, ob ein Text eine gültige IPv4-Adresse ist. Er deckt alle gültigen Zahlenbereiche für IP-Adressen ab, von 0.0.0.0 bis 255.255.255.255.
Hinweis: Um Zahlen wie 999.999.999.999 in die Zelle zu bekommen ohne dass die Formatierung verloren geht, könnt Ihr ein Hochkomma ' direkt vor die Zahl setzen.
A | B | |
---|---|---|
1 | ^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)$ | |
2 | [Gültige IP-Adresse] | |
3 | g | |
4 | ||
5 | 192.168.1.1 | [Gültige IP-Adresse] |
6 | 255255255255 | 255255255255 |
7 | 256.100.50.25 | 256.100.50.25 |
8 | 123.45.67.89 | [Gültige IP-Adresse] |
9 | 999999999999 | 999999999999 |
Datumswerte in der LibreOffice Calc Funktion REGAUS
Hinweis: Je nach Anwendungsfall müsst Ihr das Datum als Text formatieren damit der reguläre Ausdruck korrekt darauf angewendet werden kann. LibreOffice Calc speichert intern das Datum als 5 stellige Zahl.
Alternativ könnt Ihr direkt vor dem Datum auch ein Hochkomma ' setzen.
Ausdruck: (\d{2})\.(\d{2})\.(\d{4})
Ersetzung: $3-$2-$1
Kennzeichen | Vorkommen: g
Erklärung:
Dieser Ausdruck findet Datumsangaben im Format TT.MM.JJJJ und wandelt sie in das Format JJJJ-MM-TT um. Die einzelnen Teile des Datums werden durch Klammern erfasst und in der Ersetzung umgeordnet.
A | B | |
---|---|---|
1 | (\d{2})\.(\d{2})\.(\d{4}) | |
2 | $3-$2-$1 | |
3 | g | |
4 | ||
5 | 31.12.2026 | 2026-12-31 |
6 | 01.01.2026 | 2026-01-01 |
7 | Datum: 15.03.2025 | Datum: 2025-03-15 |
8 | 05.08.2025 bis zum 12.08.2025 | 2025-08-05 bis zum 2025-08-12 |
9 | Kein Datum hier | Kein Datum hier |
Ausdruck: (\d{4})(\d{2})(\d{2})
Ersetzung: $3.$2.$1
Kennzeichen | Vorkommen: g
Erklärung:
Dieser Ausdruck wandelt Datumsangaben im Format JJJJMMTT in das lesbare Format TT.MM.JJJJ um. Die Gruppen erfassen Jahr, Monat und Tag, welche in der Ersetzung neu angeordnet werden.
A | B | |
---|---|---|
1 | (\d{4})(\d{2})(\d{2}) | |
2 | $3.$2.$1 | |
3 | g | |
4 | ||
5 | 20241231 | 31.12.2024 |
6 | 20230101 | 01.01.2023 |
7 | Datum: 20220815 | Datum: 15.08.2022 |
8 | Zeitraum: 20210705 bis 20210710 | Zeitraum: 05.07.2021 bis 10.07.2021 |
9 | Kein Datum hier | Kein Datum hier |
Ausdruck: \b(0[1-9]|[12][0-9]|3[01])\.(0[1-9]|1[0-2])\.(\d{4})\b
Ersetzung: [gültiges Datum: $&]
Kennzeichen | Vorkommen: g
Erklärung:
Dieser Ausdruck findet Datumsangaben im Format TT.MM.JJJJ und prüft, ob Tage und Monate in gültigen Bereichen liegen (Tage 01-31, Monate 01-12).
A | B | |
---|---|---|
1 | \b(0[1-9]|[12][0-9]|3[01])\.(0[1-9]|1[0-2])\.(\d{4})\b | |
2 | [gültiges Datum: $0] | |
3 | g | |
4 | ||
5 | Heute ist der 31.12.2024 | Heute ist der [gültiges Datum: 31.12.2024] |
6 | Ungültiges Datum 32.13.2024 | Ungültiges Datum 32.13.2024 |
7 | Ein Geburtsdatum: 01.01.2000 | Ein Geburtsdatum: [gültiges Datum: 01.01.2000] |
8 | Termin am 29.02.2023 | Termin am [gültiges Datum: 29.02.2023] |
9 | Datum: 15.08.22 | Datum: 15.08.22 |
Ausdruck: (\d{2}\.\d{2}\.\d{4})\s+(\d{2}:\d{2})
Ersetzung: Datum: $1, Uhrzeit: $2
Kennzeichen | Vorkommen: g
Erklärung:
Dieser Ausdruck findet Datums- und Zeitangaben im Format TT.MM.JJJJ HH:MM und trennt sie, um sie getrennt auszugeben.
A | B | |
---|---|---|
1 | (\d{2}\.\d{2}\.\d{4})\s+(\d{2}:\d{2}) | |
2 | Datum: $1, Uhrzeit: $2 | |
3 | g | |
4 | ||
5 | Termin am 15.08.2022 14:30 | Termin am Datum: 15.08.2022, Uhrzeit: 14:30 |
6 | Start: 01.01.2023 09:00 | Start: Datum: 01.01.2023, Uhrzeit: 09:00 |
7 | Keine Zeitangabe hier | Keine Zeitangabe hier |
8 | Treffen am 31.12.2024 23:59 | Treffen am Datum: 31.12.2024, Uhrzeit: 23:59 |
9 | Datum und Zeit: 05.07.2021 08:15 Uhr | Datum und Zeit: Datum: 05.07.2021, Uhrzeit: 08:15 Uhr |
Uhrzeiten in der LibreOffice Calc Funktion REGAUS
Hinweis: Reguläre Ausdrücke funktionieren am Besten mit Text. Bei Uhrzeiten könnte es, genau wie bei den Datumseingaben, zu Problemen kommen. Die Zeit von 00:00 bis 24:00 wird intern als eine 1 behandelt, also ist zum Beispiel 12:00 Uhr 0,5. Damit das Muster korrekt angewendet werden kann empfehle ich die Formatierung in das Textformat. Ihr könnt natürlich auch gerne ein Hochkomma ' vor die Uhrzeit setzen damit es als Text formatiert wird.
Ausdruck: \b([01]?\d|2[0-3]):[0-5]\d\b
Ersetzung: [gültige Zeit: $&]
Kennzeichen | Vorkommen: g
Erklärung:
Dieser Ausdruck findet gültige Uhrzeiten im 24-Stunden-Format von 00:00 bis 23:59 und markiert sie als solche. Die Stunden werden von 0 bis 23 und die Minuten von 00 bis 59 erfasst.
A | B | |
---|---|---|
1 | \b([01]?\d|2[0-3]):[0-5]\d\b | |
2 | [gültige Zeit: $0] | |
3 | g | |
4 | ||
5 | Das Meeting ist um 14:30 | Das Meeting ist um [gültige Zeit: 14:30] |
6 | Es ist jetzt 25:00 Uhr | Es ist jetzt 25:00 Uhr |
7 | Ungültige Zeit 99:99 | Ungültige Zeit 99:99 |
8 | Treffpunkt um 7:05 Uhr | Treffpunkt um [gültige Zeit: 7:05] Uhr |
9 | Startzeit: 09:15, Endzeit: 17:45 | Startzeit: [gültige Zeit: 09:15] , Endzeit: [gültige Zeit: 17:45] |
Zahlen mit 1000er Trennpunkte in der LibreOffice Calc Funktion REGAUS
Hinweis: Wenn Ihr mit reinen Zahlen arbeitet achtet darauf dass diese formatiert sein könnten und sich LibreOffice Calc nur die Zahlen ohne tausender Trennzeichen und ohne Währungssymbol herausziehen könnte. Am Besten arbeiten Muster mit Text, deshalb könnt Ihr vor der Zahl ein Hochkomma ' eintragen damit die Zahl als Text formatiert wird.
Ausdruck: (\d)(?=(\d{3})+(?!\d))
Ersetzung: $1.
Kennzeichen | Vorkommen: g
Erklärung:
Dieser Ausdruck fügt Punkte als Tausendertrennzeichen in langen Zahlen ein. Das Lookahead (?=(\d{3})+(?!\d)) sorgt dafür, dass die Ersetzung an den richtigen Stellen erfolgt.
A | B | |
---|---|---|
1 | (\d)(?=(\d{3})+(?!\d)) | |
2 | $1. | |
3 | g | |
4 | ||
5 | 1000 | 1.000 |
6 | 100000000 | 100.000.000 |
7 | 123456789 | 123.456.789 |
8 | Betrag von: 10000000 Euro | Betrag von: 10.000.000 Euro |
Häufige Fehlerquellen
Häufige Fehlerquellen:a
- Unbeabsichtigte Leerzeichen im Ausdruck
Problem: Ein Leerzeichen in einem regulären Ausdruck steht für ein tatsächliches Leerzeichen im Text.
Beispiel: Der Ausdruck \d + findet eine oder mehrere Ziffern gefolgt von einem Leerzeichen, anstatt einfach eine oder mehrere Ziffern.
Lösung: Entferne unnötige Leerzeichen aus dem Ausdruck oder verwende \s, wenn du nach Leerzeichen suchen möchtest. - Nicht-Beachtung der Groß-/Kleinschreibung
Problem: Reguläre Ausdrücke unterscheiden standardmäßig zwischen Groß- und Kleinschreibung.
Lösung: Verwende das Kennzeichen (?i), um eine case-insensitive Suche durchzuführen. Du kannst auch den Parameter in der Funktion selbst anpassen aber bist dann nicht mehr so flexibel. - Fehlende Escape-Zeichen
Problem: Sonderzeichen wie ., *, +, ?, (, ), [, ], {, }, |, \ haben spezielle Bedeutungen.
Beispiel: Möchtest du nach einem Punkt suchen, musst du \. verwenden statt ..
Lösung: Verwende ein Backslash \, um Sonderzeichen zu maskieren, wenn du sie als literale Zeichen behandeln möchtest. Oben findest Du eine entsprechende Tabelle. - Verwechslung von ^ und $
Problem: ^ steht für den Anfang einer Zeile, $ für das Ende. Innerhalb von Zeichenklassen hat ^ eine andere Bedeutung.
Beispiel: [^abc] bedeutet "kein a, b oder c", während ^abc "abc am Zeilenanfang" bedeutet.
Lösung: Achte auf den Kontext und die Position dieser Symbole im Ausdruck. - Verwechslung von Greedy und Lazy Quantifiers
Problem: Standardmäßig sind Quantifizierer gierig und erfassen so viel wie möglich.
Beispiel: Der Ausdruck ".*" auf den Text "Dies ist "ein Test" und noch mehr" erfasst "ein Test" und noch mehr.
Lösung: Verwende nicht-gierige Quantifizierer .*?, also ".*?", um das minimale erforderliche Matching zu erreichen. - Fehlende oder falsche Klammerung
Problem: Nicht übereinstimmende oder fehlende Klammern können den Ausdruck ungültig machen.
Beispiel: (abc oder abc) sind ungültige Ausdrücke.
Lösung: Stelle sicher, dass alle öffnenden Klammern eine entsprechende schließende Klammer haben. - Falsche Verwendung von Zeichenklassen
Problem: Zeichenklassen müssen in eckigen Klammern stehen.
Beispiel: [A-Z ist ungültig und führt zu einem Fehler.
Lösung: Verwende die korrekte Syntax wie [A-Z] und schließe die Klammern ordnungsgemäß. - Vergessen des globalen Kennzeichens g
Problem: Ohne das Kennzeichen g wird nur das erste Vorkommen gefunden oder ersetzt.
Lösung: Füge g zu den Kennzeichen hinzu, um alle Vorkommen im Text zu berücksichtigen. - Vergessen der Escape-Sequenzen in Zeichenklassen
Problem: In Zeichenklassen können Escape-Sequenzen anders interpretiert werden.
Beispiel: \d in [\d] wird als d interpretiert, nicht als Ziffer.
Lösung: Verwende innerhalb von Zeichenklassen direkte Zeichenangaben oder die entsprechenden Zeichenklassen. - Falsche Verwendung von Quantifizierern
Problem: Quantifizierer wie +, *, ? müssen sich auf ein vorheriges Element beziehen.
Beispiel: +\d ist ungültig; korrekt wäre \d+.
Lösung: Stelle sicher, dass der Quantifizierer an der richtigen Stelle steht und ein Element quantifiziert. - Falsche Verwendung von Backreferences
Problem: Backreferences wie $1, $2 beziehen sich auf erfasste Gruppen. Eine falsche Indizierung führt zu Fehlern.
Lösung: Stelle sicher, dass du die richtige Gruppennummer verwendest und dass die Gruppe tatsächlich existiert. - Missverständnis von (?:…) vs. (…)
Problem: (…) erfasst eine Gruppe für Backreferences, (?:…) erstellt eine nicht-erfassende Gruppe.
Lösung: Verwende (?:…), wenn du die Gruppierung nur zur Strukturierung benötigst, ohne Backreference.
Ihr möchtet Euch gerne für meine Mühe bedanken?
Hier habt Ihr die Möglichkeit AMAZON – Wunschliste [HIER KLICKEN]
Vielen Dank für Eure Unterstützung
Hier das Video: "REGAUS Reguläre Ausdrücke mit vielen Beispielen mit LibreOffice Calc"