- Dieser Artikel behandelt, wie sich die Differenz und die Schnittmenge zweier regulärer Ausdrücke (Regexes) berechnen lassen.
- Der Autor zeigt den Prozess anhand von Gleichungen und Ergebnissen wie α < β = false, α = β = true, α > β = false, α & β = α ^ β = ∅ und α - β = ∅.
- Außerdem enthält der Artikel eine kurze Einführung in die folgende Grammatik regulärer Ausdrücke:
. passt auf ein beliebiges einzelnes Zeichen
xy ist Konkatenation: passt auf x und danach auf y
x|y ist Alternative: passt auf x oder y
x* ist der Kleene-Stern: passt 0-mal oder öfter auf x
(xyz) ist Gruppierung: behandelt xyz als einzelnes Element
() ist der leere reguläre Ausdruck und passt auf die leere Zeichenkette
x+ ist das Kleene-Plus: passt 1-mal oder öfter auf x
x? ist optional: passt optional auf x
x{n} ist Potenz: verkettet x n-mal mit sich selbst
x{m,n} ist Wiederholung: verkettet x zwischen m- und n-mal mit sich selbst
[a-z0-9] ist Gruppierung: passt auf ein beliebiges einzelnes Zeichen aus der Gruppe
[^a-z0-9] ist Negation einer Gruppe: passt auf ein beliebiges einzelnes Zeichen, das nicht in der Gruppe enthalten ist
\c ist Escaping: passt auf das Sonderzeichen c
\u001a ist ein Unicode-Escape: passt auf das entsprechende UTF-16-Zeichen
a, b, c stehen für alle übrigen Zeichen, die auf sich selbst passen.
- Der Artikel erwähnt außerdem nicht unterstützte Funktionen wie Anker, Zero-Width Assertions, Backreferences, das Extrahieren von Untergruppen, Suche oder partielle Übereinstimmungen sowie weitere Flags, die das Verhalten verändern.
- Für weitere Informationen verweist der Autor auf die GitHub-Seite von
antimirov.
- Der Autor dieses Artikels ist Eiríkr Åsheim, auf Twitter und Mastodon als @d6 bekannt.
1 Kommentare
Hacker-News-Kommentar