Regex

class mono::Regex

This class is a C++ wrapper around the C library called SLRE (Super Lightweight Regular Expressions)

Pattern syntax

(?i) Must be at the beginning of the regex. Makes match case-insensitive ^ Match beginning of a buffer $ Match end of a buffer () Grouping and substring capturing \s Match whitespace \S Match non-whitespace \d Match decimal digit \n Match new line character \r Match line feed character \f Match form feed character \v Match vertical tab character \t Match horizontal tab character \b Match backspace character + Match one or more times (greedy) +? Match one or more times (non-greedy) * Match zero or more times (greedy) *? Match zero or more times (non-greedy) ? Match zero or once (non-greedy) x|y Match x or y (alternation operator) \meta Match one of the meta character: ^$().[]*+?|\ \xHH Match byte with hex value 0xHH, e.g. [...] Match any character from set. Ranges like [a-z] are supported [^...] Match any character but ones from set

https://github.com/cesanta/slre

Public Types

typedef slre_cap Capture

Regex Match capture object holding the first match capture

See
Regex

Public Functions

Regex(String pattern)

Create a regular expression object from a pattern string

bool IsMatch(String matchStr)

Test if a string matches the regex pattern

Return
true on match, false otherwise

bool Match(String matchStr, Capture *captureArray, uint32_t capArraySize)

Get a the first capture group match from a string

The Regex class does not allocate any capure objects, so you must supply all needed objects for captures.

Regex::Capure caps[3];
Regex reg("(..) (..) (..)");
bool success = reg.Match("test my regex", caps, 3);

Return
true on match, false otherwise
Parameters
  • matchStr: The string to match against the regex pattern
  • captureArray: A pointer to a array of Capture objects
  • capArraySize: The size of the provided capture array

String Value(Capture &cap)

Return the string value from a match capture object