Regular Expressions 101

Save & Share

Flavor

  • PCRE2 (PHP >=7.3)
  • PCRE (PHP <7.3)
  • ECMAScript (JavaScript)
  • Python
  • Golang
  • Java 8
  • .NET 7.0 (C#)
  • Rust
  • Regex Flavor Guide

Function

  • Match
  • Substitution
  • List
  • Unit Tests

Tools

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]
  • 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
  • Match everything enclosed
    (?:...)
  • Capture everything enclosed
    (...)
  • 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
No Match

/
/
gmi

Test String

Code Generator

Generated Code

const regex = /\[([a-zA-Z0-9À-ž\s\-,."']+)\]\s+/gmi; // Alternative syntax using RegExp constructor // const regex = new RegExp('\\[([a-zA-Z0-9À-ž\\s\\-,."\']+)\\]\\s+', 'gmi') const str = `## K – Kommunismus Selbstbewusst bekennt das Känguru schon am Beginn ihrer langen Freundschaft gegenüber Marc-Uwe: „Ich bin Kommunist“ (K I, DKC: Kleinkunst) und seine Vorliebe für Nirwana. Insbesondere ist es „sehr heikel, wenn es um Besitzverhältnisse geht. Nicht nur bei Produktionsmitteln“ (K I, DKC: Flugstunden), sondern vor allem in Bezug auf sein Verhältnis zu Marc-Uwe. Es ist kein Haustier. Es ist ein unabhängiges Individuum, ganz losgelöst von seinem Mitbewohner. Manchmal etwas zu losgelöst, vor allem sein Mundwerk. Was Marc-Uwe vor Gericht ganz schön in die Bredouille bringt, nachdem das Känguru vor dem Reichstag demonstriert und zwei Polizisten sein Demoschild über den Kopf gezogen hat, während Marc-Uwe „dumm“ daneben stand. Was dazu führt, dass beide verhaftet werden, aber Marc-Uwe die Geldstrafe „wegen Vernachlässigung seiner Sorgfaltspflicht als Tierhalter“ zahlen muss. (K I, DKC: Sein eigener Herr). Das Ding mit dem Kommunismus ist allerdings so eine Sache: Das Känguru ist „ein individualistischer Kommunist“ und dabei Teil eines ziemlich anarchistischen Netzwerks, es nennt Kommunismus, was es will (K III, DKO: Kuriosität des Klimawandels). Sprich: es macht sich seine Welt, widde, widde, wie sie ihm gefällt (K II, DKM: Bad Bank). Was möglicherweise auf Marc-Uwes anarchistische Tendenzen zurückzuführen ist. Wieder ein Punkt, an dem die WG-Symbiose greift. Die beiden sind immerhin „Freunde bis zur Revolution“. „Dann schlägt es [Marc-Uwe] den Kopf ein und errichtet seine Diktatur“ (K II, DKM: Ach, scheiß der Hund drauf ...). ## N – Nazis Zu den Freizeitvergnügungen des Kängurus gehört es, seinem Boxreflex nachzugehen. Wie andere Rudeltiere auch, haben Kängurus einen ausgeprägten Drang, ihre Stellung in der Gruppenhierarchie zu behaupten. Dieser Reflex wird bei diesem speziellen Känguru immer dann ausgelöst, wenn zufällig Nazis seinen Weg kreuzen. Im vierten und letzten Teil der Tetralogie versucht es einmal eine andere Annäherung: mit Nazis reden. Im Ergebnis macht es ihnen klar, dass sie Rassisten sind, weil sie sich selbst minderwertig fühlen (K IV, DKA: Entnazifizierung). Der Plan geht auf: in einem kurzen Ritt durch die Schule der abendländischen Philosophie führt das Känguru vier Nazis erfolgreich auf den Weg der Erleuchtung und inneren Erkenntnis. Eine schöne Utopie. Wenn das in der Realität bloß immer so einfach wäre. ## Not-to-do-Liste Die Not-to-do-Liste ist eine Erfindung des Kängurus in K II, DKM: Prolog im Wohnzimmer als Antwort auf Marc-Uwes gelegentliche poetische Krisen. In K 1 DKC: Ziele verbringt dieser einen ganzen Tag im Schlafanzug in der Hängematte mit der Begründung, „Gestern habe ich [...] nichts gemacht. Ich hatte mir aber nicht vorgenommen, nichts zu machen. Deswegen war ich dann am Ende des Tages unzufrieden, weil ich nichts gemacht hatte. Heute Abend aber werde ich zufrieden sein, weil ich das erreicht haben werde, was ich mir vorgenommen hatte.“ Psychologisch steht dahinter eine vorübergehende Schreib- und Ideenhemmung, die ein erhebliches Frustrationspotenzial hat, was das Känguru natürlich sofort schlau durchschaut. Die Not-to-do-Liste des Kängurus ist „eine Liste mit Sachen, die ich als schlecht für mich, für andere oder für die Umwelt einstufe. Heute Abend werde ich alles markieren, was ich nicht gemacht habe. Und das wird mir ein gutes Gefühl geben“. Beim Erstellen der Liste liegt es selbstverständlich den ganzen Tag in der Hängematte. Nummer 5 auf seiner Liste ist „Gedichte schreiben“, Nummer zwei „vernünftig sein“ (K II, DKM: Kleinkrieg), Nummer sieben, sich „an Kleinkunstprojekten beteiligen“ (K IV, DKA: Das Ford-Selleck-Theorem), ebenfalls darauf steht „selbstkritisch sein“ und „etwas zugeben“(K II, DKM: Die Trockner-Theorie). Nicht darauf steht übrigens „auf den Fußboden spucken“ (K II, DKM: Wahre Wärme kommt von innen), was Marc-Uwe ziemlich anwidert. Die Liste zieht sich denn auch als Running Gag durch K II, DKM und erhält angelegentlich ein eigenes Kapitel in Form von Faksimiles handschriftlicher, scheinbar vom Känguru erstellter Notizen. Damit geschieht in Teil 2 der Tetralogie so etwas wie es von Hunden und Hundebesitzenden oder auch alten Ehepaaren bekannt ist: Marc-Uwe und das Känguru werden sich als sich herzlich zugetane Mitbewohner in einer Art WG-Symbiose immer ähnlicher. Auf ihre ganz eigene Weise. So passt sich Marc-Uwe durch die lange Zeit des Zusammenlebens und des gemeinsamen-durch-Berlin-Streifens auch immer stärker an die Fortbewegungsart des Kängurus an: er hüpft gemeinsam mit ihm durch die Straßen. Was das Känguru nach Aussagen in einer Fußnote „immer ein wenig, wenn er das macht.“ (K I, DKM: Die Korrekturen). Kein Wunder, dass Marc-Uwe schließlich auch eine eigene Not-to-do-Liste zu führen beginnt. So behauptet er, sich „an wahnwitzigen Känguru-Aktionen beteiligen“ habe er kürzlich auf seine geschrieben. (K II, DKM: Ein einfacher Plan).`; let m; while ((m = regex.exec(str)) !== null) { // This is necessary to avoid infinite loops with zero-width matches if (m.index === regex.lastIndex) { regex.lastIndex++; } // The result can be accessed through the `m`-variable. m.forEach((match, groupIndex) => { console.log(`Found match, group ${groupIndex}: ${match}`); }); }

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 JavaScript, please visit: https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions