A wordRe is a word, but can also have a regular expression for matching words. More...
Public Types | |
enum | compOption { literal = 0, detect = 1, regExp = 2, noCase = 4, detectNoCase = detect | noCase, regExpNoCase = regExp | noCase } |
Enumeration with compile options. More... | |
Public Member Functions | |
wordRe () | |
Construct null. More... | |
wordRe (const wordRe &) | |
Copy constructor. More... | |
wordRe (const keyType &) | |
Construct from keyType. More... | |
wordRe (const keyType &, const compOption) | |
Construct from keyType. More... | |
wordRe (const word &) | |
Copy constructor of word. More... | |
wordRe (const char *, const compOption=compOption::literal) | |
Copy constructor of character array. More... | |
wordRe (const string &, const compOption=compOption::literal) | |
Copy constructor of string. More... | |
wordRe (const std::string &, const compOption=compOption::literal) | |
Copy constructor of std::string. More... | |
wordRe (Istream &) | |
Construct from Istream. More... | |
bool | isPattern () const |
Should be treated as a match rather than a literal string? More... | |
bool | compile () const |
Compile the regular expression. More... | |
bool | compile (const compOption) const |
Possibly compile the regular expression, with greater control. More... | |
bool | recompile () const |
Recompile an existing regular expression. More... | |
void | uncompile (const bool doStripInvalid=false) const |
Frees precompiled regular expression, making wordRe a literal. More... | |
void | set (const std::string &, const compOption=compOption::detect) |
Copy string, auto-test for regular expression or other options. More... | |
void | set (const char *, const compOption=compOption::detect) |
Copy string, auto-test for regular expression or other options. More... | |
void | clear () |
Clear string and precompiled regular expression. More... | |
bool | match (const std::string &, bool literalMatch=false) const |
Smart match as regular expression or as a string. More... | |
string | quotemeta () const |
Return a string with quoted meta-characters. More... | |
Ostream & | info (Ostream &) const |
Output some basic info. More... | |
void | operator= (const wordRe &) |
Assign copy. More... | |
void | operator= (const word &) |
Copy word, never a regular expression. More... | |
void | operator= (const keyType &) |
Copy keyType, auto-test for regular expression. More... | |
void | operator= (const string &) |
Copy string, auto-test for regular expression. More... | |
void | operator= (const std::string &) |
Copy string, auto-test for regular expression. More... | |
void | operator= (const char *) |
Copy string, auto-test for regular expression. More... | |
Public Member Functions inherited from word | |
word () | |
Construct null. More... | |
word (const word &) | |
Copy constructor. More... | |
word (const char *, const bool doStripInvalid=true) | |
Copy constructor of character array. More... | |
word (const char *, const size_type, const bool doStripInvalid) | |
Copy constructor with a maximum number of characters. More... | |
word (const string &, const bool doStripInvalid=true) | |
Copy constructor of string. More... | |
word (const std::string &, const bool doStripInvalid=true) | |
Copy constructor of std::string. More... | |
word (Istream &) | |
Construct from Istream. More... | |
word | capitalise () const |
Return the word with the first letter capitalised. More... | |
void | operator= (const word &) |
void | operator= (const string &) |
void | operator= (const std::string &) |
void | operator= (const char *) |
Public Member Functions inherited from string | |
string () | |
Construct null. More... | |
string (const std::string &) | |
Construct from std::string. More... | |
string (const string &) | |
Copy constructor. More... | |
string (string &&) | |
Move constructor. More... | |
string (const char *) | |
Construct as copy of character array. More... | |
string (const UList< char > &) | |
Construct as copy of UList of character. More... | |
string (const char *, const size_type) | |
Construct as copy of specified number of characters. More... | |
string (const char) | |
Construct from a single character. More... | |
string (const size_type, const char) | |
Construct from copies of a single character. More... | |
string (Istream &) | |
Construct from Istream. More... | |
size_type | count (const char) const |
Count and return the number of a given character in the string. More... | |
bool | match (const std::string &) const |
True when strings match literally. More... | |
string & | replace (const string &oldStr, const string &newStr, size_type start=0) |
In this string replace first occurrence of sub-string oldStr. More... | |
string | replace (const string &oldStr, const string &newStr, size_type start=0) const |
Replace first occurrence of sub-string oldStr with newStr. More... | |
string & | replaceAll (const string &oldStr, const string &newStr, size_type start=0) |
In this string replace all occurrences of sub-string oldStr. More... | |
string | replaceAll (const string &oldStr, const string &newStr, size_type start=0) const |
Replace all occurrences of sub-string oldStr with newStr. More... | |
string & | expand (const bool allowEmpty=false) |
Expand initial tildes and all occurrences of environment variables. More... | |
bool | removeRepeated (const char) |
Remove repeated characters returning true if string changed. More... | |
string | removeRepeated (const char) const |
Return string with repeated characters removed. More... | |
bool | removeTrailing (const char) |
Remove trailing character returning true if string changed. More... | |
string | removeTrailing (const char) const |
Return string with trailing character removed. More... | |
bool | removeTrailing (const string &) |
Remove trailing string returning true if string changed. More... | |
string | removeTrailing (const string &) const |
Return string with trailing string removed. More... | |
void | strip (const string &) |
Strip characters from the start and end of the string. More... | |
string | operator() (const size_type i, const size_type n) const |
Return the sub-string from the i-th character for n characters. More... | |
string | operator() (const size_type n) const |
Return the sub-string from the first character for n characters. More... | |
void | operator= (const string &) |
void | operator= (string &&) |
template<class String > | |
Foam::string | quotemeta (const string &str, const char quote) |
Static Public Member Functions | |
static bool | meta (char) |
Is this a meta character? More... | |
static bool | isPattern (const string &) |
Test string for regular expression meta characters. More... | |
Static Public Member Functions inherited from word | |
static bool | valid (char) |
Is this character valid for a word. More... | |
Static Public Member Functions inherited from string | |
template<class String > | |
static bool | valid (const string &) |
Is this string type valid? More... | |
template<class String > | |
static bool | meta (const string &, const char quote='\\') |
Does this string have particular meta-characters? More... | |
template<class String > | |
static bool | stripInvalid (string &) |
Strip invalid characters from the given string. More... | |
template<class String > | |
static String | validate (const string &) |
Return a valid String from the given string. More... | |
template<class String > | |
static string | quotemeta (const string &, const char quote='\\') |
Return a String with quoted meta-characters from the given string. More... | |
Static Public Attributes | |
static const wordRe | null |
An empty wordRe. More... | |
Static Public Attributes inherited from word | |
static const char *const | typeName = "word" |
static int | debug |
static const word | null |
An empty word. More... | |
Static Public Attributes inherited from string | |
static const char *const | typeName = "string" |
static int | debug |
static const string | null |
An empty string. More... | |
Friends | |
Istream & | operator>> (Istream &, wordRe &) |
Ostream & | operator<< (Ostream &, const wordRe &) |
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 a string literal and the assignment operators will use the wordRe::compOption::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).
Note: If the string contents are changed - eg, by the operator+=() or by string::replace(), etc - it will be necessary to use compile() or recompile() to synchronise the regular expression.
|
strong |
Copy constructor.
Definition at line 49 of file wordReI.H.
References wordRe::compile(), and wordRe::isPattern().
Construct from keyType.
Definition at line 68 of file wordReI.H.
References wordRe::compile(), and keyType::isPattern().
|
inline |
Construct from keyType.
Definition at line 80 of file wordReI.H.
References wordRe::compile(), and keyType::isPattern().
|
inlineexplicit |
Copy constructor of character array.
Optionally specify how it should be treated.
Definition at line 92 of file wordReI.H.
References wordRe::compile().
|
inlineexplicit |
Copy constructor of string.
Optionally specify how it should be treated.
Definition at line 101 of file wordReI.H.
References wordRe::compile().
|
inlineexplicit |
Copy constructor of std::string.
Optionally specify how it should be treated.
Definition at line 110 of file wordReI.H.
References wordRe::compile().
|
inlinestatic |
Is this a meta character?
Definition at line 28 of file wordReI.H.
References regExp::meta().
Test string for regular expression meta characters.
Definition at line 34 of file wordReI.H.
Referenced by MeshZones< cellZone, polyMesh >::findIndex(), polyBoundaryMesh::findIndex(), MeshZones< cellZone, polyMesh >::findIndices(), polyBoundaryMesh::findIndices(), Foam::operator<<(), wordRe::operator=(), and wordRe::wordRe().
|
inline |
Should be treated as a match rather than a literal string?
Definition at line 121 of file wordReI.H.
References regExp::exists().
Referenced by wordRe::info().
|
inline |
Compile the regular expression.
Definition at line 161 of file wordReI.H.
References regExp::exists().
Referenced by functionObjectList::findDict(), wordRe::operator=(), wordRe::set(), and wordRe::wordRe().
|
inline |
Possibly compile the regular expression, with greater control.
Definition at line 127 of file wordReI.H.
References regExp::clear(), wordRe::detect, regExp::exists(), wordRe::noCase, wordRe::regExp, and regExp::set().
|
inline |
Recompile an existing regular expression.
Definition at line 168 of file wordReI.H.
References regExp::exists().
|
inline |
Frees precompiled regular expression, making wordRe a literal.
Optionally strips invalid word characters
Definition at line 179 of file wordReI.H.
References regExp::clear(), and word::debug.
|
inline |
Copy string, auto-test for regular expression or other options.
Definition at line 223 of file wordReI.H.
References wordRe::compile(), and string::operator=().
|
inline |
Copy string, auto-test for regular expression or other options.
Definition at line 230 of file wordReI.H.
References wordRe::compile(), and string::operator=().
|
inline |
Clear string and precompiled regular expression.
Definition at line 195 of file wordReI.H.
References clear(), and regExp::clear().
Smart match as regular expression or as a string.
Optionally force a literal match only
Definition at line 202 of file wordReI.H.
References regExp::exists(), and regExp::match().
Referenced by functionObjectList::findDict(), IOobjectList::lookup(), and objectRegistry::names().
|
inline |
Foam::Ostream & info | ( | Ostream & | os | ) | const |
Output some basic info.
Definition at line 103 of file wordRe.C.
References Ostream::flush(), and wordRe::isPattern().
|
inline |
Assign copy.
Always case sensitive
Definition at line 239 of file wordReI.H.
References regExp::clear(), wordRe::compile(), wordRe::isPattern(), and string::operator=().
|
inline |
Copy word, never a regular expression.
Definition at line 254 of file wordReI.H.
References regExp::clear(), and word::operator=().
|
inline |
Copy keyType, auto-test for regular expression.
Always case sensitive
Definition at line 261 of file wordReI.H.
References wordRe::compile(), keyType::isPattern(), and string::operator=().
|
inline |
Copy string, auto-test for regular expression.
Always case sensitive
Definition at line 271 of file wordReI.H.
References wordRe::compile(), wordRe::detect, and string::operator=().
|
inline |
Copy string, auto-test for regular expression.
Always case sensitive
Definition at line 278 of file wordReI.H.
References wordRe::compile(), wordRe::detect, and string::operator=().
|
inline |
Copy string, auto-test for regular expression.
Always case sensitive
Definition at line 285 of file wordReI.H.
References wordRe::compile(), wordRe::detect, and string::operator=().
|
static |