REGEXP(7)
πΈ REGEXP(7) β regexp, the Plan 9 regular expression notation πΈ
hiii bestie, welcome to the Plan 9 regular expression glow-up π
. This page lives in the Miscellaneous Information Manual and it's about the regular expression syntax used by the Plan 9 regular expression library regexp(3). It's literally the form used by egrep(1) before egrep got complicated. no cap. π«Ά
β¨ NAME β¨
regexp β Plan 9 regular expression notation π
π DESCRIPTION π
Okay so, this manual page describes the regular expression syntax used by the Plan 9 regular expression library regexp(3). It is the form used by egrep(1) before egrep got complicated. π¦
A regular expression specifies a set of strings of characters. A member of this set of strings is said to be matched by the regular expression. In many applications a delimiter character, commonly bounds a regular expression. In the following specification for regular expressions the word character means any character (rune) but newline. β
okay so tiny heads-up: a couple of spots on this page look like the typesetter ate a character or two (classic), so I'm giving them to you exactly as they appear. not me fixing them, i would never π β reproducing as-is, bestie π
The syntax for a regular expression e0 is π§
e3: literal | charclass | '.' | '^' | '$' | '(' e0 ')'
e2: e3
| e2 REP
REP: '*' | '+' | '?'
e1: e2
| e1 e2
e0: e1
| e0 '|' e1
π Literals
A literal is any non-metacharacter, or a metacharacter (one of .*+?[]()|\^$), or the delimiter preceded by
πΈ Character classes
A charclass is a nonempty string s bracketed [s] (or [^s]); it matches any character in (or not in) s. A negated character class never matches newline. A substring a-b, with a and b in ascending order, stands for the inclusive range of characters between a and b. In s, the metacharacters an initial and the regular expression delimiter must be preceded by a other metacharacters have no special meaning and may appear unescaped.
π¦ The single-character girlies
A matches any character.
A matches the beginning of a line; matches the end of the line.
π The REP operators (the repeat girlies)
The REP operators match zero or more (*), one or more (+), zero or one (?), instances respectively of the preceding regular expression e2.
π Concatenation
A concatenated regular expression, e1e2, matches a match to e1 followed by a match to e2.
π Alternation
An alternative regular expression, e0|e1, matches either a match to e0 or a match to e1.
π₯ The greediness moment
A match to any part of a regular expression extends as far as possible without preventing a match to the remainder of the regular expression. periodt. π
π SEE ALSO π
regexp(3)β go read it, iykwim π«Ά
and that's the whole vibe, bestie π β this was REGEXP(7), hanging out in the Miscellaneous Information Manual, and the same REGEXP(7) tag sits right at the bottom of the page too. no date on this one, so don't come for me π mwah πβ¨π
π¦ where this page comes from
- alpine 3.24: plan9port-doc 0_git20260208-r0 Β· LPL-1.02
- arch rolling: plan9port 20261021-2 Β· custom
- nixos 26.05: plan9port 0-unstable-2025-11-10
- nixos 26.05: plan9port-wayland 0-unstable-2025-11-26
- nixpkgs unstable: plan9port 0-unstable-2025-11-10
- nixpkgs unstable: plan9port-wayland 0-unstable-2025-11-26
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms