Regular Expressions 101

Save & Manage Regex

  • Current Version: 17
  • Save & Share
  • Community Library

Flavor

  • PCRE2 (PHP)
  • ECMAScript (JavaScript)
  • Python
  • Golang
  • Java
  • .NET 7.0 (C#)
  • Rust
  • PCRE (Legacy)
  • Regex Flavor Guide

Function

  • Match
  • Substitution
  • List
  • Unit Tests
Sponsors
An explanation of your regex will be automatically generated as you type.
Detailed match information will be displayed here automatically.
  • All Tokens
  • Common Tokens
  • General Tokens
  • Anchors
  • Meta Sequences
  • Quantifiers
  • Group Constructs
  • Character Classes
  • Flags/Modifiers
  • Substitution
  • A single character of: a, b or c
    [abc]
  • A character except: a, b or c
    [^abc]
  • A character in the range: a-z
    [a-z]
  • A character not in the range: a-z
    [^a-z]
  • A character in the range: a-z or A-Z
    [a-zA-Z]
  • Character class intersection
    [\w&&[^\d]]
  • Any single character
    .
  • Alternate - match either a or b
    a|b
  • Any whitespace character
    \s
  • Any non-whitespace character
    \S
  • Any digit
    \d
  • Any non-digit
    \D
  • Any word character
    \w
  • Any non-word character
    \W
  • Non-capturing group
    (?:...)
  • Capturing group
    (...)
  • Zero or one of a
    a?
  • Zero or more of a
    a*
  • One or more of a
    a+
  • Exactly 3 of a
    a{3}
  • 3 or more of a
    a{3,}
  • Between 3 and 6 of a
    a{3,6}
  • Start of string
    ^
  • End of string
    $
  • A word boundary
    \b
  • Non-word boundary
    \B

Regular Expression
Processing...

Test String

Code Generator

Generated Code

import java.util.regex.Matcher; import java.util.regex.Pattern; public class Example { public static void main(String[] args) { final String regex = "<h3>(.*?)<\\/h3>"; final String string = "{{1}}\n" + "<h2>Allgemeines</h2>\n" + "<h3>Was sind die Kommunikationskanäle für die Übungen?</h3>\n" + "<p>Allgemeine Fragen gehören in die Newsgroup, da wir sie da für alle Übungsteilnehmer gleichermaßen\n" + "beantworten können. </p>\n" + "<p>Fragen zur eigenen Implementierung dürfen hingegen nicht öffentlich gestellt werden. Nutzt dafür unser\n" + "Ticketsystem.</p>\n" + "<p>Organisatorische Fragen (z.B. Information bei Krankheit, Anfragen nach Terminverlegungen,\n" + "Kommunikationsprobleme auf einem unserer anderen Kanäle etc.) schickt bitte per E-Mail an den\n" + "entsprechenden Übungsverteiler (<html><body><code class=\"highlight\">unix@..</code></body></html> oder <html><body><code class=\"highlight\">foop@..</code></body></html>). </p>\n" + "<h3>Warum soll ich die Übungs-E-Mailverteiler nutzen und euch nicht direkt anschreiben?</h3>\n" + "<p>Zum einen, damit immer alle Übungsverantwortlichen gleichermaßen informiert sind und reagieren können\n\n" + "*asdas*(auch bei uns kann ja mal jemand ausfallen), zum anderen teilen wir uns die Aufgaben natürlich auch ein\n" + "und Anfragen könnten, wenn sie nur an eine Person direkt gestellt werden, unnötig lange liegen bleiben.</p>\n" + "<h3>Ich habe eine ganz dringende Frage - wie kann ich euch erreichen?</h3>\n" + "<p>Bitte nutzt immer die vorgeschriebenen Kommunikationskanäle - eine schnellere Kontaktmöglichkeit gibt es\n" + "nicht. Schreibt uns in keinem Fall privat bei Teams an, da wir diese Kanäle ausschließlich zur\n" + "internen Kommunikation zwischen den Übungsleitern und Übungs(mit)betreuern nutzen. Private Chats und\n" + "Anrufe von Übungsteilnehmern werden wir ignorieren und euch entsprechend auf stumm schalten. Wiederholte\n" + "Kontaktversuche / Störungen werden wir als Störung des Übungsfriedens werten und entsprechend darauf reagieren.\n" + "Die einzige Ausnahme von dieser Regel ist, wenn wir euch persönlich dazu auffordern uns direkt\n" + "bei Teams anzuschreiben.</p>\n" + "<h3>Meine Anfrage wurde noch nicht bearbeitet, obwohl sie schon x Stunden her ist. Wie kann ich die Bearbeitung beschleunigen?</h3>\n" + "<p>Wir bearbeiten Anfragen immer so schnell wie es uns möglich ist. Da ihr keine Möglichkeit habt zu sehen wie\n" + "hoch unsere momentane Auslastung jeweils ist, seht bitte von Nachfragen ab. Nachfragen erhöhen lediglich\n" + "den Overhead für uns und kosten uns im Endeffekt Zeit, die wir sonst nutzen könnten um auf “echte” Anfragen\n" + "zu reagieren. Ansonsten gilt zu diesem Punkt alles was unter “Ich habe eine ganz dringende Frage - wie kann\n" + "ich euch erreichen?” steht.</p>\n" + "<h3>Ich habe ein Problem oder eine Frage, welche zu komplex ist um sie textuell als Ticket zu beschreiben. Wo bekomme ich einen Besprechungstermin?</h3>\n" + "<p>Macht einfach ein entsprechendes Ticket auf und versucht uns bitte trotzdem so eine grobe Richtung\n" + "zu geben wie umfangreich eure Frage ist oder auf was sie abzielt, dass wir entsprechend Zeit für\n" + "eine Besprechung einplanen können. Bitte vermerkt unbedingt eure Verfügbarkeiten im Ticket, so dass\n" + "wir nicht extra nachfragen müssen. Wir gehen davon aus, dass ihr zu den Besprechungsterminen laut\n" + "Kalender immer verfügbar seid. (Siehe auch “Wann finden die Betreuungstermine per Videokonferenz statt?”)</p>\n" + "<h3>Wann kann ich mit einer Antwort auf meine Anfrage / Ticket rechnen?</h3>\n" + "<p>Unsere Arbeitszeiten sind üblicherweise 8 Stunden pro Tag an den Werktagen (Montag bis Freitag)\n" + "innerhalb der üblichen Vorlesungszeiten - also zwischen frühestens 8 Uhr und spätestens 18:30.\n" + "Außerhalb dieser Zeiten ist eine Antwort zwar nicht per se ausgeschlossen, aber eher unwahrscheinlich.\n" + "Bitte beachtet, dass insbesondere am Tag vor dem Servertest ggfs. nicht mehr alle eingehenden Anfragen\n" + "rechtzeitig bearbeitet werden können und organisiert euch entsprechend - die Zeiträume für die Bearbeitung\n" + "der Aufgaben sind auch aus diesem Grund eher großzügig gewählt.</p>\n" + "<p>Generell sind wir selbstverständlich bestrebt alle Anfragen zeitnah zu beantworten, bedenkt aber,\n" + "dass wir außer Support auch noch eine Menge anderer Tätigkeiten nachgehen (wie z.B. Übungsabnahmen,\n" + "Aufgabenerstellung, Organisation, Gremientätigkeiten an der Hochschule und die Durchführung von\n" + "anderen Veranstaltungen (Unix-Vorlesung)) und momentan (Stand Sommersemester 2020) außer eurer Gruppe noch\n" + "knapp 120 weitere Übungsgruppen aus den Übungen Unix und FOOP betreuen. </p>\n" + "<h3>Wann finden die Betreuungstermine per Videokonferenz statt?</h3>\n" + "<p>Die Betreuung per Videokonferenz findet nach persönlicher Absprache mit uns (über das Ticketsystem)\n" + "statt. Die Termine, zu denen wir eine Verfügbarkeit für die Betreuung per Videokonferenz garantieren,\n" + "sind die im jeweiligen Übungskalender als “Betreuung” gekennzeichneten Zeitslots. Je nach unserer\n" + "Verfügbarkeit und der zeitlichen Entfernung zum nächsten Betreuungstermin werden wir versuchen, ggfs. auch\n" + "frühere Termine anzubieten. Es ist dafür sehr nützlich, wenn ihr direkt eure Verfügbarkeiten für eine\n" + "Besprechung im Ticket mit angebt um weitere Rückfragen zu vermeiden. Wir gehen davon aus, dass ihr zu\n" + "den Besprechungsterminen laut Kalender immer verfügbar seid.</p>\n" + "<h3>Wie kommuniziert ihr mit uns?</h3>\n" + "<p>Alle öffentlichen Ankündigungen (Veröffentlichung Aufgabenstellungen, Freischaltung Servertest, eventuelle\n" + "Korrekturen oder Ergänzungen an Aufgabenstellungen, Serverwartungen, Terminverschiebungen, etc.) erfolgen\n" + "stets in der entsprechenden Newsgroup.</p>\n" + "<p>Anfragen von euch werden von uns immer auf dem Kanal beantwortet, auf dem sie auch eingegangen sind.\n" + "Beachtet, dass das Ticketsystem mit eurer FH-E-Mailadresse verknüpft ist.</p>\n" + "<h2>Aufgabenstellungen</h2>\n" + "<h3>Wo finde ich die Aufgabenstellungen?</h3>\n" + "<p>Aufgabenstellungen werden stets auf den Unterseiten der entsprechenden Übung auf dieser Webseite veröffentlicht.</p>\n" + "<h3>Wann werden die Aufgabenstellungen veröffentlicht?</h3>\n" + "<p>Die Aufgabenstellungen werden an dem Tag veröffentlicht der dafür im Kalender steht. Die Uhrzeit stammt noch\n" + "aus den Zeiten zu denen es da eine Aufgabenvorstellung im Hörsaal geben konnte und ist daher nicht mehr weiter\n" + "von Bedeutung. Wir nutzen den Freiraum, der durch den Wegfall der Aufgabenvorstellung im Hörsaal entstanden ist,\n" + "im Zweifelsfall dafür, die Aufgabe noch mit Ergänzungen zu versehen, die den Wegfall der Aufgabenvorstellung\n" + "zumindest ein bisschen kompensieren können.</p>\n" + "<p>Sobald die Aufgabe veröffentlicht wurde, wird dies in der entsprechenden Newsgroup angekündigt.</p>\n" + "<h3>Ich verstehe etwas an der Aufgabenstellung / dem vorgegebenen Code (falls vorhanden) / den vorgegebenen Kommentaren (falls vorhanden) nicht.</h3>\n" + "<p>Bitte formuliert eure Frage in der Newsgroup - dort kann sie am schnellsten und effizientesten\n" + "beantwortet werden.</p>\n" + "<h3>Ich habe eine Frage zu meiner persönlichen Lösung der Aufgabe.</h3>\n" + "<p>Bitte schreibt ein entsprechendes Ticket in unserem Ticketsystem. Wir werden dann entscheiden, ob\n" + "eine schriftliche Diskussion zielführend ist, und, falls nicht, einen Besprechungstermin für eine\n" + "Videokonferenz mit euch vereinbaren.</p>\n" + "<h2>Ticketsystem / Tickets</h2>\n" + "<h3>Wie melde ich mich am Ticketsystem an?</h3>\n" + "<p>Zum Start der Übung habt ihr alle einen Link an eure FH-E-Mailadresse erhalten, mit dem ihr euch\n" + "am Ticketsystem registrieren könnt. Der Benutzername ist eure FH-E-Mailadresse (ohne stud und\n" + "ohne rz im Namen, also z.B. <html><body><code class=\"highlight\">inf123456@fh-wedel.de</code></body></html>) das Passwort ist frei wählbar.</p>\n" + "<h3>Die Registrierung klappt nicht.</h3>\n" + "<p>Habt ihr beide Zeilen des Links aus der E-Mail kopiert? Falls es damit nicht funktioniert, sagt gern\n" + "per E-Mail an den entsprechenden Übungsverteiler (<html><body><code class=\"highlight\">unix@..</code></body></html> oder <html><body><code class=\"highlight\">foop@..</code></body></html>) Bescheid - wir lösen den\n" + "Vorgang dann für euch nochmals manuell aus.</p>\n" + "<h3>Ich habe meine Passwort vergessen.</h3>\n" + "<p>Ihr könnt auf der Oberfläche des Ticketsystems bei einem fehlgeschlagenen Login-Versuch eine\n" + "E-Mail zum Neu-Setzen des Passworts anfordern. Sollte das nicht funktionieren, schickt uns bitte\n" + "eine E-Mail an den entsprechenden Übungsverteiler (<html><body><code class=\"highlight\">unix@..</code></body></html> oder <html><body><code class=\"highlight\">foop@..</code></body></html>) - wir lösen den\n" + "Vorgang dann für euch manuell aus.</p>\n" + "<h3>Wie lege ich ein Ticket an?</h3>\n" + "<p>Ganz einfach: Meldet euch mit eurem Benutzernamen und dem von euch gesetzten Passwort\n" + "(siehe “Wie melde ich mich am Ticketsystem an?”) an und erstellt ein Ticket.</p>\n" + "<h3>Meine Frage wurde zwar beantwortet, aber leider nicht ausreichend oder ich verstehe etwas an der Antwort nicht.</h3>\n" + "<p>Ihr könnt eure Tickets auch wieder öffnen indem ihr einfach darauf antwortet. Bitte nutzt unbedingt\n" + "diese Möglichkeit, damit wir den Verlauf der Frage nachvollziehen können und euch nicht mehrmals\n" + "die selben Sachen schreiben.</p>\n" + "<h3>Meine Frage hat sich zwischenzeitlich erledigt.</h3>\n" + "<p>Bitte schreibt einfach “Hat sich erledigt” oder ähnliches als Antwort auf euer eigenes Ticket. Wir\n" + "werden das dann entsprechend einfach löschen oder als erledigt markieren.</p>\n" + "<p>Bedenkt bitte, dass das Bearbeiten von Tickets einen nicht unwesentlichen Anteil unserer Zeit\n" + "in Anspruch nimmt und es für uns ausgesprochen unangenehm ist unsere Zeit mit Fragen zu\n" + "verschwenden, die sich bereits erledigt haben.</p>\n" + "<h3>Meine Frage hat sich seit dem Ticket öffnen verändert bzw. ich habe neue Erkenntnisse gewonnen.</h3>\n" + "<p>Bitte schreibt schnellstmöglich einen entsprechenden Änderungslog / eine entsprechende Erweiterung\n" + "als Antwort auf euer Ticket. Wir werden das dann bei der Bearbeitung berücksichtigen.</p>\n" + "<p>Bedenkt bitte, dass das Bearbeiten von Tickets einen nicht unwesentlichen Anteil unserer Zeit\n" + "in Anspruch nimmt und es für uns und euch wenig zielführend ist, wenn wir unsere Zeit in die Beantwortung\n" + "nicht mehr aktueller Fragen investieren. Ihr würdet ja bei der persönlichen Betreuung auch\n" + "nicht mit dem Erkenntnisstand “von vor zwei Stunden” fragen, wenn ihr inzwischen neue Erkenntnisse dazu\n" + "gewonnen habt.</p>\n" + "<h2>Organisatorisches</h2>\n" + "<h3>Wo finden die Abnahmen statt und was brauche ich dafür?</h3>\n" + "<p>Die Abnahmen finden in einem nur eurer Gruppe und den Abnehmern der jeweiligen Übung zugeordneten\n" + "privaten Kanal bei MS Teams statt. Ihr benötigt für die Abnahme das entsprechende Equipment für\n" + "eine Videokonferenz (Kamera, Lautsprecher &amp; Mikrofon oder Headset) und einen funktionierenden Zugang\n" + "zu MS Teams.</p>\n" + "<h3>Wo finden die Besprechungen per Videokonferenz statt?</h3>\n" + "<p>Die Besprechungen - ebenso wie die Abnahmen - finden immer in dem eurer Gruppe zugeordneten privaten\n" + "Kanal bei MS Teams statt. Bitte startet zur vereinbarten Uhrzeit eine Besprechung, wir kommen dann dazu.\n" + "Bitte seid insbesondere während der Besprechungstermine etwas geduldig, da wir versuchen möglichst\n" + "viele Gruppen zu betreuen und vorher nicht immer abschätzen können, wie lange es dauert, kann es da\n" + "teilweise zu längeren Wartezeiten kommen.</p>\n" + "<h2>Servertest</h2>\n" + "<h3>Wie erfahre ich ab wann der Servertest verfügbar ist?</h3>\n" + "<p>Wir kündigen die Verfügbarkeit des Servertests immer in der Newsgroup an - und zwar in dem Moment, in\n" + "dem er verfügbar ist. Bitte seht von Nachfragen “wann endlich der Test erscheint” in der Newsgroup oder\n" + "auf anderen Kanälen ab - ihr könnt euch sicher sein, dass wir weder das Freischalten des Tests noch\n" + "die entsprechende Ankündigung vergessen haben oder vergessen werden.</p>\n" + "<h3>Mein Programm tut augenscheinlich genau das was es tun soll, aber der Servertest liefert beständig nur geringe Prozentzahlen. Woran kann das liegen?</h3>\n" + "<p>In Unix kann das häufig daran liegen, dass euer Programm die Ausgabespezifikation nicht exakt einhält. Prüft\n" + "zunächst, ob ihr euch vielleicht irgendwo bei einer Ausgabe vertippt habt oder ob ihr vielleicht Zeichen\n" + "mit ausgebt, die nicht erwartet werden (der Klassiker sind zusätzliche Leerzeichen am Ende einer Zeile oder\n" + "fehlende Leerzeichen bei der Formatierung der Ausgabe).</p>\n" + "<p>In FOOP ist es etwas schwieriger das so allgemein einzugrenzen. Im Zweifelsfall liegt es daran, dass euer\n" + "Programm sich bei einer vorgegebenen öffentlichen Schnittstelle anders verhält als erwartet. Sollten\n" + "wir testkritische Schnittstellen in der Aufgabenstellung definiert haben, prüft bitte zunächst diese auf\n" + "Herz und Nieren. Sollten wir Tests vorgegebenen haben, müssen diese in jedem Fall erstmal laufen, bevor\n" + "wir eine Aussage zu euren Prozentwerten treffen können - die Tests, die wir mitliefern, dienen ja zumeist\n" + "genau dem Zweck die Funktion testkritischer Schnittstellen sicherzustellen und sollen euch zudem den\n" + "Einstieg in das Testen der Aufgabe erleichtern.</p>\n" + "<p>Wenn ihr nach Berücksichtigung dieser Tipps nicht weiter kommt, fragt gern nach - siehe nächster Punkt.</p>\n" + "<h3>Ich habe weniger als 100% im Servertest und beim besten Willen keine Idee woran es liegen könnte. Wo bekomme ich Hilfe?</h3>\n" + "<p>Bitte macht ein entsprechendes Ticket im Ticketsystem auf - wir behandeln diese Anfragen wie jedes andere\n" + "Ticket und antworten entweder schriftlich (wenn möglich) oder vereinbaren einen Termin zur Besprechung\n" + "mit euch. Häufig sind diese Fragen in einem Gespräch einfacher zu klären als schriftlich, daher\n" + "bietet es sich an bei einem solchen Ticket eure Verfügbarkeiten präventiv immer mit anzugeben.</p>\n" + "<h3>Was genau bedeutet “Der Zugriff auf den Testserver ist nur von Montag bis Freitag zu euren regulären Arbeitszeiten (10–18 Uhr) garantiert”?</h3>\n" + "<p>Das bedeutet, dass wir nur in diesem Zeitfenster garantieren können, dass Ausfälle am Testserver auch\n" + "behoben werden können. Generell ist der Testserver von unserer Seite aus 24 / 7 online und\n" + "verfügbar, da wir euch in euren Arbeitszeiten nicht unnötig einschränken wollen. Da ein Neustart allerdings\n" + "immer einen manuellen Zugriff und eine entsprechende Fehlersuche erfordert, können wir eine\n" + "Wiederherstellung eines ausgefallenen Servers nur zu unseren regulären Arbeitszeiten gewährleisten.</p>\n" + "<p>Solltet ihr unerwarteterweise (siehe “Wie erfahre ich ab wann der Servertest verfügbar ist?”) nicht auf den\n" + "Testserver zugreifen können, sagt bitte kurz in der Newsgroup Bescheid. Notwendige Wartungen am Server\n" + "kündigen wir dort selbstverständlich immer an, ebenso, wenn wir einen ausgefallenen Server wiederhergestellt\n" + "haben.</p>\n" + "<h2>Abnahmen</h2>\n" + "<h3>Wie finde ich meinen Abnahmetermin?</h3>\n" + "<p>Ihr habt euch verbindlich für einen Termin im Online-Sekretariat angemeldet, dieser gilt dann für\n" + "eure Abnahmen (sofern ihr nicht mit uns per E-Mail einen anderen Termin vereinbart habt, dann gilt\n" + "natürlich dieser Termin). Aus diesem Termin ergibt sich Wochentag und Zeitslot für eure Abnahme,\n" + "das konkrete Datum der jeweiligen Abnahme ergibt sich aus unserem Kalender.</p>\n" + "<h3>Meine Abnahme startet nicht wie erwartet. Was mache ich jetzt?</h3>\n" + "<p>Prüft bitte, ob es sich auch um den richtigen Tag, die richtige Uhrzeit und das richtige Datum für\n" + "eure Abnahme handelt. In Unix finden die Abnahmen nach A-/B-Terminen wochenweise verschränkt statt,\n" + "prüft also bitte kurz, ob das auch wirklich die richtige Woche für euren Termin ist.</p>\n" + "<p>Wenn ihr in einem Termin als zweite Gruppe dran seid, solltet ihr von eurem Abnehmer eine entsprechende\n" + "Nachricht im Chat für eure Gruppe erhalten haben. Bitte geduldet euch dann noch - die Dauer einer\n" + "Abnahme ist im Vorwege kaum absehbar und wir sind natürlich bestrebt allen Gruppen individuell\n" + "gerecht zu werden.</p>\n" + "<p>Solltet ihr euch wirklich sicher sein, dass wir euch vergessen haben - und auch wirklich nur dann -\n" + "schreibt bitte in eurem privaten Kanal eine Nachricht mit dem Präfix <html><body><code class=\"highlight\">@channel</code></body></html> gefolgt von einem\n" + "Leerzeichen und einem entsprechenden Hinweis. (In jedem anderen Fall werten wir eine solche Notation\n" + "als Störung und werden entsprechend darauf reagieren.)</p>\n" + "<h3>Ich habe meine Abnahme verpasst.</h3>\n" + "<p>Da Abnahmen sowohl Termine mit Anwesenheitspflicht als auch Prüfungen sind, führt ein unentschuldigtes\n" + "Nicht-Erscheinen zur Abnahme automatisch zum Nicht-Bestehen der entsprechenden Aufgabe und damit für\n" + "FH-Teilnehmer im Zweifelsfall (also außer bei Unix Aufgabe 1) auch zum Nicht-Bestehen der gesamten Übung.</p>\n" + "<p>Solltet ihr euch lediglich verspätet haben, aber noch innerhalb des Abnahmetermins da sein,\n" + "meldet euch bitte über die <html><body><code class=\"highlight\">@channel</code></body></html> Notation in eurem Kanal, siehe vorheriger Punkt bei uns. </p>\n" + "<p>Für die genauen Regelungen, was die Anwesenheitspflicht angeht, konsultiert bitte unsere\n" + "Regularien.</p>\n" + "<h2>Sonstiges</h2>\n" + "<h3>Mein Gruppenpartner ist total unzuverlässig (nicht erreichbar, lässt mich alle Arbeit machen, etc.).</h3>\n" + "<p>Bitte schreib uns schnellstmöglich eine E-Mail an den entsprechenden Verteiler\n" + "(siehe Kommunikationskanäle) und schildere uns das Problem. Wir werden die Gruppe dann im Zweifelsfall\n" + "auftrennen.</p>\n" + "<h3>Ich habe vergessen meine Daten rechtzeitig einzuchecken oder zum Severtestzeitpunkt war eine nicht-funktionale Lösung im Repo.</h3>\n" + "<p>Da können wir leider nichts machen - euer Repo in einem ordentlichen Zustand zu halten und das zu\n" + "überprüfen, ist allein eure Verantwortung. Für alle Gruppen gilt stets ein und derselbe Testzeitpunkt\n" + "und davon können und würden wir, selbst wenn wir könnten, nicht abweichen. Das gilt auch, wenn ihr\n" + "zu einem früheren Zeitpunkt schon eine funktionale Lösung eingecheckt und selbst getestet hattet.</p>\n" + "<h3>Ich hab das FAQ komplett gelesen und jetzt traue ich mich nicht mehr euch was zu fragen.</h3>\n" + "<p>Die hier beschriebenen Regeln sind ja genau dafür gedacht, dass ihr Fragen stellen könnt und\n" + "wir euch zu diesen Fragen die bestmögliche Betreuung liefern können. Es gibt also gar keinen\n" + "Grund eine Frage nicht zu stellen. ;)</p>"; final Pattern pattern = Pattern.compile(regex); final Matcher matcher = pattern.matcher(string); if (matcher.find()) { System.out.println("Full match: " + matcher.group(0)); for (int i = 1; i <= matcher.groupCount(); i++) { System.out.println("Group " + i + ": " + matcher.group(i)); } } } }

Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html