ches whatever RE matches and \N, where N is a digit,

matches whatever was matched by the RE between the Nth "(" and its corresponding ")" earlier in the same RE. Many flavours use \(RE\) instead of just (RE).

The concatenation of REs is a RE that matches the concatenation of the strings matched by each RE. RE1 | RE2 matches whatever RE1 or RE2 matches.

\< matches the beginning of a word and \> matches the end of a word. Many flavours use "\b" instead as the special character for "word boundary".

RE{M} matches M occurences of RE. RE{M,} matches M or more occurences of RE. RE{M,N} matches between M and N occurences. Other flavours use RE\{M\} etc.

Perl provides several "quote-like" operators for writing REs, including the common // form and less common ??.

A comprehensive survey of regexp flavours is found in Friedl 1997 (see below).

[Jeffrey E.F. Friedl, "Mastering Regular Expressions, O'Reilly, 1997].

2. Any description of a pattern composed from combinations of symbols and the three operators:

Concatenation - pattern A concatenated with B matches a match for A followed by a match for B.

Or - pattern A-or-B matches either a match for A or a match for B.

Closure - zero or more matches for a pattern.

The earliest form of regular expressions (and the term itself) were invented by mathematician Stephen Cole Kleene in the mid-1950s, as a notation to easily manipulate "regular sets", formal descriptions of the behaviour of finite state machines, in regular algebra.

[S.C. Kleene, "Representation of events in nerve nets and finite automata", 1956, Automata Studies. Princeton].

[J.H. Conway, "Regular algebra and finite machines", 1971, Eds Chapman & Hall].

[Sedgewick, "Algorithms in C", page 294].

Last updated: 2015-04-30

Nearby terms:

ches whatever RE matches and \N, where N is a digit, a digit,

Try this search on Wikipedia, OneLook, Google