#include <stringregularexpression.h>
Class to operate with regular expressions. This class is not a complete regular expression parser. It supports only a subset of regular expressions. Supported functions are:
Public Types | |
using | FindRecvType = Tuple< Int, String > |
Public Member Functions | |
MAXON_METHOD Result< void > | InitExpression (const String ®ularExpression) |
MAXON_METHOD Result< void > | InitSimpleExpression (const String &simpleExpression) |
MAXON_METHOD Result< Bool > | Find (const String &text, REGPARSEMODE mode, Bool onlyFirst, Int *resPos, String *resPattern) |
MAXON_METHOD Result< Bool > | FindNext (const String &text, Int *resPos, String *resPattern) |
MAXON_METHOD Result< Bool > | FindAll (const String &text, REGPARSEMODE mode, const ValueReceiver< const FindRecvType & > &recv, Bool onlyFirst=false) const |
Static Public Member Functions | |
static MAXON_METHOD RegularExpressionInterface * | Alloc (MAXON_SOURCE_LOCATION_DECLARATION) |
Private Member Functions | |
MAXON_INTERFACE_NONVIRTUAL (RegularExpressionInterface, MAXON_REFERENCE_NORMAL, "net.maxon.interface.regularexpression") | |
using FindRecvType = Tuple<Int, String> |
See FindAll, ValueReceiver element type.
|
private |
|
static |
[in] | allocLocation | Source location. |
MAXON_METHOD Result<void> InitExpression | ( | const String & | regularExpression | ) |
Initializes the regular expression parser with a complex expression.
[in] | regularExpression | A pattern string which allows the following placeholders:
|
MAXON_METHOD Result<void> InitSimpleExpression | ( | const String & | simpleExpression | ) |
Initializes the regular expression parser with a simple expression. It can be used to find simple strings like: "net.maxon.unittest.*" to find all unit tests.
[in] | simpleExpression | A pattern string which allows the following placeholders:
|
MAXON_METHOD Result<Bool> Find | ( | const String & | text, |
REGPARSEMODE | mode, | ||
Bool | onlyFirst, | ||
Int * | resPos, | ||
String * | resPattern | ||
) |
Finds the first occurrence of the expression in the given text.
[in] | text | The text to search through. |
[in] | mode | Search mode for the find operation. |
[in] | onlyFirst | Set to true if the search should return after the first finding. This speeds up search because otherwise the call will collect all further patterns. |
[out] | resPos | Returns the position of the matching pattern. |
[out] | resPattern | Returns the string of the matching pattern. |
Finds the occurrence of the expression in the given text after calling Find.
[in] | text | The text to search through. |
[out] | resPos | Returns the position of the matching pattern. |
[out] | resPattern | Returns the string of the matching pattern. |
MAXON_METHOD Result<Bool> FindAll | ( | const String & | text, |
REGPARSEMODE | mode, | ||
const ValueReceiver< const FindRecvType & > & | recv, | ||
Bool | onlyFirst = false |
||
) | const |
Finds the first occurrence of the expression in the given text. THREADSAFE. No search result is stored internally. One can call InitExpression only once, cache the RegularExpressionInterface instance and call FindAll on this instance from any thread. Other find methods (Find, FindNext) are not thread safe. This make much faster code since the InitExpression call is the most expensive part.
[in] | text | The text to search through. |
[in] | mode | Search mode for the find operation. |
[out] | recv | ValueReceiver called each time a pattern match is found. |
[in] | onlyFirst | Set to true if the search should return after the first finding. This speeds up search because otherwise the call will collect all further patterns. |