A wordRe is a word, but can also have a regular expression for matching words. More...
#include <OpenFOAM/wordRe.H>
A wordRe is a word, but can also have a regular expression for matching words.
By default the constructors will generally preserve the argument as string literal and the assignment operators will use the wordRe::DETECT compOption to scan the string for regular expression meta characters and/or invalid word characters and react accordingly.
The exceptions are when constructing/assigning from another Foam::wordRe (preserve the same type) or from a Foam::word (always literal).
Inheritance diagram for wordRe:
Collaboration diagram for wordRe:Public Types | |
| enum | compOption { LITERAL = 0, DETECT = 1, REGEXP = 2, NOCASE = 4, DETECT_NOCASE = DETECT | NOCASE, REGEXP_NOCASE = REGEXP | NOCASE } |
| Enumeration with compile options. More... | |
Public Member Functions | |
| wordRe () | |
| Construct null. | |
| wordRe (const wordRe &) | |
| Construct as copy. | |
| wordRe (const word &) | |
| Construct as copy of word. | |
| wordRe (const char *, const compOption=LITERAL) | |
| Construct as copy of character array. | |
| wordRe (const string &, const compOption=LITERAL) | |
| Construct as copy of string. | |
| wordRe (const std::string &, const compOption=LITERAL) | |
| Construct as copy of std::string. | |
| wordRe (Istream &) | |
| Construct from Istream. | |
| bool | isPattern () const |
| Access. | |
| bool | compile () const |
| Infrastructure. | |
| bool | compile (const compOption) const |
| Possibly compile the regular expression, with greater control. | |
| bool | recompile () const |
| Recompile an existing regular expression. | |
| void | uncompile (const bool doStripInvalid=false) const |
| Frees precompiled regular expression, making wordRe a literal. | |
| void | set (const std::string &, const compOption=DETECT) |
| Editing. | |
| void | set (const char *, const compOption=DETECT) |
| Copy string, auto-test for regular expression or other options. | |
| void | clear () |
| Clear string and precompiled regular expression. | |
| bool | match (const string &, bool literalMatch=false) const |
| Searching. | |
| string | quotemeta () const |
| Miscellaneous. | |
| Ostream & | info (Ostream &) const |
| Output some basic info. | |
| const wordRe & | operator= (const wordRe &) |
| Assign copy. | |
| const wordRe & | operator= (const word &) |
| Copy word, never a regular expression. | |
| const wordRe & | operator= (const string &) |
| Copy string, auto-test for regular expression. | |
| const wordRe & | operator= (const std::string &) |
| Copy string, auto-test for regular expression. | |
| const wordRe & | operator= (const char *) |
| Copy string, auto-test for regular expression. | |
Public Member Functions inherited from word | |
| word () | |
| Construct null. | |
| word (const word &) | |
| Construct as copy. | |
| word (const char *, const bool doStripInvalid=true) | |
| Construct as copy of character array. | |
| word (const char *, const size_type, const bool doStripInvalid) | |
| Construct as copy with a maximum number of characters. | |
| word (const string &, const bool doStripInvalid=true) | |
| Construct as copy of string. | |
| word (const std::string &, const bool doStripInvalid=true) | |
| Construct as copy of std::string. | |
| word (Istream &) | |
| Construct from Istream. | |
Public Member Functions inherited from string | |
| string () | |
| Construct null. | |
| string (const std::string &) | |
| Construct from std::string. | |
| string (const char *) | |
| Construct as copy of character array. | |
| string (const char *, const size_type) | |
| Construct as copy of specified number of characters. | |
| string (const char) | |
| Construct from a single character. | |
| string (Istream &) | |
| Construct from Istream. | |
| size_type | count (const char) const |
| Count and return the number of a given character in the string. | |
| string & | replace (const string &oldStr, const string &newStr, size_type start=0) |
| Replace first occurence of sub-string oldStr with newStr. | |
| string & | replaceAll (const string &oldStr, const string &newStr, size_type start=0) |
| Replace all occurences of sub-string oldStr with newStr. | |
| string & | expand () |
| Expand initial tildes and all occurences of environment variables. | |
| bool | removeRepeated (const char) |
| Remove repeated characters returning true if string changed. | |
| string | removeRepeated (const char) const |
| Return string with repeated characters removed. | |
| bool | removeTrailing (const char) |
| Remove trailing character returning true if string changed. | |
| string | removeTrailing (const char) const |
| Return string with trailing character removed. | |
| string | operator() (const size_type i, const size_type n) const |
| Return the sub-string from the i-th character for n characters. | |
| string | operator() (const size_type n) const |
| Return the sub-string from the first character for n characters. | |
Static Public Member Functions | |
| static bool | meta (char) |
| Is this a meta character? | |
| static bool | isPattern (const string &) |
| Test string for regular expression meta characters. | |
Static Public Member Functions inherited from word | |
| static bool | valid (char) |
| Is this character valid for a word. | |
Static Public Member Functions inherited from string | |
| template<class String > | |
| static bool | valid (const string &) |
| Is this string type valid? | |
| template<class String > | |
| static bool | meta (const string &, const char quote='\\') |
| Does this string have particular meta-characters? | |
| template<class String > | |
| static bool | stripInvalid (string &) |
| Strip invalid characters from the given string. | |
| template<class String > | |
| static String | validate (const string &) |
| Return a valid String from the given string. | |
| template<class String > | |
| static string | quotemeta (const string &, const char quote='\\') |
| Return a String with quoted meta-characters from the given string. | |
Friends | |
| Istream & | operator>> (Istream &, wordRe &) |
| Ostream & | operator<< (Ostream &, const wordRe &) |
Additional Inherited Members | |
Static Public Attributes inherited from word | |
| static const char *const | typeName = "word" |
| static int | debug |
| static const word | null |
Static Public Attributes inherited from string | |
| enum compOption |
Construct as copy.
Definition at line 49 of file wordReI.H.
References wordRe::compile(), and wordRe::isPattern().
|
inline |
Construct as copy of character array.
Optionally specify how it should be treated.
Definition at line 68 of file wordReI.H.
References wordRe::compile().
|
inline |
Construct as copy of string.
Optionally specify how it should be treated.
Definition at line 77 of file wordReI.H.
References wordRe::compile().
|
inline |
Construct as copy of std::string.
Optionally specify how it should be treated.
Definition at line 86 of file wordReI.H.
References wordRe::compile().
Construct from Istream.
Words are treated as literals, strings with an auto-test
Definition at line 32 of file wordReIO.C.
|
inlinestatic |
Test string for regular expression meta characters.
Definition at line 34 of file wordReI.H.
Referenced by Foam::operator<<(), wordRe::operator=(), and wordRe::wordRe().
|
inline |
|
inline |
Infrastructure.
Compile the regular expression
Definition at line 137 of file wordReI.H.
Referenced by wordRe::wordRe().
|
inline |
Possibly compile the regular expression, with greater control.
Definition at line 103 of file wordReI.H.
References wordRe::DETECT, wordRe::NOCASE, and wordRe::REGEXP.
|
inline |
|
inline |
Frees precompiled regular expression, making wordRe a literal.
Optionally strips invalid word characters
Definition at line 155 of file wordReI.H.
References word::debug.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| Foam::Ostream & info | ( | Ostream & | os | ) | const |
|
inline |
Assign copy.
Always case sensitive
Definition at line 215 of file wordReI.H.
References wordRe::isPattern().
|
inline |
Copy word, never a regular expression.
Reimplemented from word.
Definition at line 231 of file wordReI.H.
References word::operator=().
|
inline |
|
inline |
|
inline |