bes  Updated for version 3.20.6
internal::GenericRegex< Encoding, Allocator > Class Template Reference

Regular expression engine with subset of ECMAscript grammar. More...

#include <regex.h>

Collaboration diagram for internal::GenericRegex< Encoding, Allocator >:
Collaboration graph

Public Types

typedef Encoding::Ch Ch
 
typedef Encoding::Ch Ch
 

Public Member Functions

 GenericRegex (const Ch *source, Allocator *allocator=0)
 
 GenericRegex (const Ch *source, Allocator *allocator=0)
 
bool IsValid () const
 
bool IsValid () const
 
bool Match (const Ch *s) const
 
bool Match (const Ch *s) const
 
template<typename InputStream >
bool Match (InputStream &is) const
 
template<typename InputStream >
bool Match (InputStream &is) const
 
bool Search (const Ch *s) const
 
bool Search (const Ch *s) const
 
template<typename InputStream >
bool Search (InputStream &is) const
 
template<typename InputStream >
bool Search (InputStream &is) const
 

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 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 cmr_module/rapidjson/internal/regex.h.


The documentation for this class was generated from the following file: