enter some regular expressions!
α := β :=
~α = ..* ~β = ..* α < β = false α = β = true α > β = false α & β = α ^ β = ∅ α - β = ∅
s := s ∈ α = false s ∈ β = false
|α| = 1 |β| = 1
dfa(α) has 1 states dfa(β) has 1 states
regex syntax . match any single character xy concatenation: match x and then y x|y alternation: match x or y x* kleene star: match x zero-or-more times (xyz) grouping: treat xyz as a single item (e.g. (xyz)*) () an empty regex matches the empty string x+ kleene plus: match x one-or-more times (equivalent to xx*) x? optional: optionally match x (equivalent to (x|)) x{n} exponentiation: concatenate x to itself n times x{m,n} repetition: concatenate x to itself between m and n times [a-z0-9] grouping: match any single character in the group [^a-z0-9] negative grouping: match any single character not in the group \c escaping: match the special character c \u001a unicode escaping: match the corresponding UTF-16 character a, b, c all other characters match themselves unsupported features - anchors (e.g. ^, $), although ^ and $ must still be escaped! - zero-width assertions (e.g. (?=...), (?<=...)) - back references (e.g. \1, \2) - subgroup extraction - searching or partial matching - other flags that change behavior (e.g. case-insensitivity) see https://github.com/non/antimirov for more information by eiríkr åsheim (@d6 on twitter and mastodon)