template<typename Encoding, typename Allocator = CrtAllocator>
class internal::GenericRegex< Encoding, Allocator >
Regular expression engine with subset of ECMAscript grammar.
Supported regular expression syntax:
ab
Concatenation
a|b
Alternation
a
? Zero or one
a*
Zero or more
a+
One or more
a{3}
Exactly 3 times
a{3
,} At least 3 times
a{3
,5} 3 to 5 times
(ab) Grouping
^a
At the beginning
a$
At the end
. Any character
[abc] Character classes
[a-c] Character class range
[a-z0-9_] Character class combination
[^abc] Negated character classes
[^a-c] Negated character class range
[] Backspace (U+0008)
\
| \\ ... Escape characters
\f
Form feed (U+000C)
\n
Line feed (U+000A)
\r
Carriage return (U+000D)
\t
Tab (U+0009)
\v
Vertical tab (U+000B)
- Note
- This is a Thompson NFA engine, implemented with reference to Cox, Russ. "Regular Expression Matching Can Be Simple And Fast (but is slow in Java, Perl, PHP, Python, Ruby,...).", https://swtch.com/~rsc/regexp/regexp1.html
Definition at line 85 of file regex.h.