GenericRegex< Encoding, Allocator > Class Template Reference#
internal::GenericRegex< Encoding, Allocator > Class Template Reference
Regular expression engine with subset of ECMAscript grammar. More...
#include <regex.h>
Public Types | |
typedef Encoding | EncodingType |
typedef Encoding::Ch | Ch |
Public Member Functions | |
GenericRegex (const Ch *source, Allocator *allocator=0) | |
~GenericRegex () | |
bool | IsValid () const |
Friends | |
template<typename , typename > | |
class | GenericRegexSearch |
Detailed Description
template<typename Encoding, typename Allocator = CrtAllocator>
class internal::GenericRegex< Encoding, Allocator >
Regular expression engine with subset of ECMAscript grammar.
Supported regular expression syntax:
ab
Concatenationa|b
Alternationa
? Zero or onea*
Zero or morea+
One or morea{3}
Exactly 3 timesa{3
,} At least 3 timesa{3
,5} 3 to 5 times(ab) Grouping
^a
At the beginninga$
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
Member Typedef Documentation
◆ Ch
template<typename Encoding , typename Allocator = CrtAllocator>
typedef Encoding::Ch internal::GenericRegex< Encoding, Allocator >::Ch |
◆ EncodingType
template<typename Encoding , typename Allocator = CrtAllocator>
typedef Encoding internal::GenericRegex< Encoding, Allocator >::EncodingType |
Constructor & Destructor Documentation
◆ GenericRegex()
template<typename Encoding , typename Allocator = CrtAllocator>
|
inline |
◆ ~GenericRegex()
template<typename Encoding , typename Allocator = CrtAllocator>
|
inline |
Member Function Documentation
◆ IsValid()
template<typename Encoding , typename Allocator = CrtAllocator>
|
inline |
Friends And Related Function Documentation
◆ GenericRegexSearch
template<typename Encoding , typename Allocator = CrtAllocator>
template<typename , typename >
|
friend |
The documentation for this class was generated from the following file:
- /home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/develop/include/rapidjson/internal/regex.h