regexp – regular expression notation
a set of strings of characters.
A member of this set of strings is said to be
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.
The syntax for a regular expression
e3: literal | charclass | '.' | '^' | '$' | '(' e0 ')'
| e2 REP
REP: '*' | '+' | '?'
| e1 e2
| e0 '|' e1
is any non-metacharacter, or a metacharacter
or the delimiter
is a nonempty string
[ s ]
it matches any character in (or not in)
A negated character class never
order, stands for the inclusive
and the regular expression delimiter
must be preceded by a
have no special meaning and
may appear unescaped.
matches any character.
matches the beginning of a line;
matches the end of the line.
operators match zero or more
one or more
zero or one
instances respectively of the preceding regular expression
A concatenated regular expression,
e1 e2 ,
matches a match to
followed by a match to
An alternative regular expression,
e0 | e1 ,
matches either a match to
or a match to
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.