#include <PerlRegEx.hpp>
Collaboration diagram for BLOCXX_NAMESPACE::PerlRegEx:

Public Types | |
| typedef blocxx::Array< int > | MatchVector |
| Native PCRE vector of integers. | |
| typedef blocxx::Array< match_t > | MatchArray |
| POSIX RegEx like match array with captured substring offsets. | |
Public Member Functions | |
| PerlRegEx () | |
| Create a new PerlRegEx object without compilation. | |
| PerlRegEx (const String ®ex, int cflags=0) | |
| Create a new PerlRegEx object and compile the regular expression. | |
| PerlRegEx (const PerlRegEx &ref) | |
| Create a new PerlRegEx as (deep) copy of the specified reference. | |
| ~PerlRegEx () | |
| Destroy this PerlRegEx object. | |
| PerlRegEx & | operator= (const PerlRegEx &ref) |
| Assign the specified PerlRegEx reference. | |
| bool | compile (const String ®ex, int cflags=0) |
| Compile the regular expression pattern contained in the string. | |
| int | errorCode () |
| Return the last error code generated by compile or one of the executing methods. | |
| String | errorString () const |
| Return the error message string for the last error code. | |
| String | patternString () const |
| int | compileFlags () const |
| bool | isCompiled () const |
| StringArray | capture (const String &str, size_t index=0, size_t count=0, int eflags=0) |
| Search in string and return an array of captured substrings. | |
| String | replace (const String &str, const String &rep, bool global=false, int eflags=0) |
| Replace (substitute) the first or all matching substrings. | |
| StringArray | split (const String &str, bool empty=false, int eflags=0) |
| Split the specified string into an array of substrings. | |
| StringArray | grep (const StringArray &src, int eflags=0) |
| Match all strings in the array against regular expression. | |
| bool | match (const String &str, size_t index=0, int eflags=0) const |
| Execute regular expression matching against the string. | |
| bool | execute (MatchVector &sub, const String &str, size_t index=0, size_t count=0, int eflags=0) |
| Execute regular expression matching against the string. | |
| bool | execute (MatchArray &sub, const String &str, size_t index=0, size_t count=0, int eflags=0) |
Private Attributes | |
| pcre * | m_pcre |
| int | m_flags |
| int | m_ecode |
| String | m_error |
| String | m_rxstr |
Classes | |
| struct | match_t |
| POSIX RegEx like structure for captured substring offset pair. More... | |
The PerlRegEx implementation depends on avaliability of the pcre library.
Consult the pcre_compile(3), pcre_exec(3) and pcreapi(3) manual pages for informations about details of the pcre implementation.
Definition at line 59 of file PerlRegEx.hpp.
|
|
POSIX RegEx like match array with captured substring offsets.
Definition at line 76 of file PerlRegEx.hpp. |
|
|
Native PCRE vector of integers. It contains captured substring offsets pairs. Each even index number points to a start and odd index number the corresponding end of the matched substring. Definition at line 67 of file PerlRegEx.hpp. |
|
|
Create a new PerlRegEx object without compilation.
Definition at line 187 of file PerlRegEx.cpp. |
|
||||||||||||
|
Create a new PerlRegEx object and compile the regular expression.
Definition at line 196 of file PerlRegEx.cpp. References BLOCXX_THROW_ERR, compile(), errorString(), and m_ecode. |
|
|
Create a new PerlRegEx as (deep) copy of the specified reference. If the reference is compiled, the new object will be compiled as well.
Definition at line 210 of file PerlRegEx.cpp. References BLOCXX_THROW_ERR, compile(), errorString(), m_ecode, m_flags, m_pcre, and m_rxstr. |
|
|
Destroy this PerlRegEx object.
Definition at line 224 of file PerlRegEx.cpp. References m_pcre. |
|
||||||||||||||||||||
|
Search in string and return an array of captured substrings.
Definition at line 472 of file PerlRegEx.cpp. References BLOCXX_THROW, BLOCXX_THROW_ERR, errorString(), execute(), i, m_ecode, m_pcre, match(), BLOCXX_NAMESPACE::Array< T >::push_back(), and BLOCXX_NAMESPACE::String::substring(). |
|
||||||||||||
|
Compile the regular expression pattern contained in the string.
cflags parameter can be set to one or a bitwise-or of the following option flags. Consult the pcre_compile(3) and pcreapi(3) manual pages for the complete list and detailed description.Most of the compile options can be set also directly in the pattern string using the (?<option character>="">) notation as listed bellow.
Definition at line 261 of file PerlRegEx.cpp. References BLOCXX_NAMESPACE::String::c_str(), BLOCXX_NAMESPACE::String::erase(), m_ecode, m_error, m_flags, m_pcre, and m_rxstr. Referenced by operator=(), and PerlRegEx(). |
|
|
Definition at line 317 of file PerlRegEx.cpp. References m_flags. |
|
|
Return the last error code generated by compile or one of the executing methods. In case of a compile error, the returned value points to the position (character offset) in the regex pattern string, where where the error was discovered. In all other cases, the result of the pcre_exec function call is returned.
Definition at line 293 of file PerlRegEx.cpp. References m_ecode. |
|
|
Return the error message string for the last error code.
Definition at line 301 of file PerlRegEx.cpp. References m_error. Referenced by capture(), grep(), match(), operator=(), PerlRegEx(), replace(), and split(). |
|
||||||||||||||||||||||||
|
Definition at line 333 of file PerlRegEx.cpp. References BLOCXX_THROW, BLOCXX_NAMESPACE::String::c_str(), BLOCXX_NAMESPACE::String::erase(), BLOCXX_NAMESPACE::getError(), i, BLOCXX_NAMESPACE::String::length(), m_ecode, m_error, m_pcre, BLOCXX_NAMESPACE::PerlRegEx::match_t::rm_eo, and BLOCXX_NAMESPACE::PerlRegEx::match_t::rm_so. |
|
||||||||||||||||||||||||
|
Execute regular expression matching against the string. The matching starts at the specified index and return true on match of false if no match found.
count. If the default value of 0 is used, the detected count by pcre_fullinfo will be used.
sub array will be empty and false is returned. If a match is found and the expression was compiled to capture substrings, the sub array will be filled with the captured substring offsets. The first (index 0) offset pair points to the start of the first match and the end of the last match. Unused / optional capturing subpattern offsets will be set to -1.The resulting MatchVector is twice as large as the number of captured substrings, the resulting MatchArray equal. Consult the pcre_exec(3) and pcreapi(3) manual pages for the complete and detailed description.
eflags parameter can be set to 0 or one or a bitwise-or of the following options:
Definition at line 403 of file PerlRegEx.cpp. References BLOCXX_THROW, BLOCXX_NAMESPACE::String::c_str(), BLOCXX_NAMESPACE::getError(), i, BLOCXX_NAMESPACE::String::length(), m_ecode, m_error, and m_pcre. |
|
||||||||||||
|
Match all strings in the array against regular expression. Returns an array of matching strings.
Definition at line 627 of file PerlRegEx.cpp. References BLOCXX_NAMESPACE::Array< T >::begin(), BLOCXX_THROW, BLOCXX_THROW_ERR, BLOCXX_NAMESPACE::Array< T >::empty(), BLOCXX_NAMESPACE::Array< T >::end(), BLOCXX_NAMESPACE::String::erase(), errorString(), BLOCXX_NAMESPACE::getError(), i, m_ecode, m_error, m_pcre, and BLOCXX_NAMESPACE::Array< T >::push_back(). |
|
|
Definition at line 325 of file PerlRegEx.cpp. References m_pcre. |
|
||||||||||||||||
|
Execute regular expression matching against the string. The matching starts at the specified index and return true on match of false if no match found.
See execute() method for description of the
Definition at line 665 of file PerlRegEx.cpp. References BLOCXX_THROW, BLOCXX_THROW_ERR, BLOCXX_NAMESPACE::String::c_str(), BLOCXX_NAMESPACE::String::erase(), errorString(), BLOCXX_NAMESPACE::getError(), BLOCXX_NAMESPACE::String::length(), m_ecode, m_error, and m_pcre. |
|
|
Assign the specified PerlRegEx reference. If the reference is compiled, the current object will be (re)compiled.
Definition at line 236 of file PerlRegEx.cpp. References BLOCXX_THROW_ERR, compile(), BLOCXX_NAMESPACE::String::erase(), errorString(), m_ecode, m_error, m_flags, m_pcre, and m_rxstr. |
|
|
Definition at line 309 of file PerlRegEx.cpp. References m_rxstr. |
|
||||||||||||||||||||
|
Replace (substitute) the first or all matching substrings.
Substring(s) matching regular expression are replaced with the string provided in The rep string can contain capturing references "\\1" to "\\9" that will be substituted with the corresponding captured string. Prepended "\\" before the reference disables (switches to skip) the substitution. Note, the notation using double-slash followed by a digit character, not just "\1" like the "\n" escape sequence.
Definition at line 517 of file PerlRegEx.cpp. References BLOCXX_THROW, BLOCXX_THROW_ERR, BLOCXX_NAMESPACE::String::erase(), errorString(), execute(), BLOCXX_NAMESPACE::String::length(), m_ecode, m_error, m_pcre, match(), BLOCXX_NAMESPACE::substitute_caps(), and BLOCXX_NAMESPACE::String::substring(). |
|
||||||||||||||||
|
Split the specified string into an array of substrings. The regular expression is used to match the separators. If the empty flag is true, empty substring are included in the resulting array. If no separators were found, and the empty flag is true, the array will contain the input string as its only element. If the empty flag is false, a empty array is returned.
Definition at line 570 of file PerlRegEx.cpp. References BLOCXX_THROW, BLOCXX_THROW_ERR, BLOCXX_NAMESPACE::String::empty(), BLOCXX_NAMESPACE::String::erase(), errorString(), execute(), BLOCXX_NAMESPACE::String::length(), m_ecode, m_error, m_pcre, match(), BLOCXX_NAMESPACE::Array< T >::push_back(), and BLOCXX_NAMESPACE::String::substring(). |
|
|
Definition at line 448 of file PerlRegEx.hpp. Referenced by capture(), compile(), errorCode(), execute(), grep(), match(), operator=(), PerlRegEx(), replace(), and split(). |
|
|
Definition at line 449 of file PerlRegEx.hpp. Referenced by compile(), errorString(), execute(), grep(), match(), operator=(), replace(), and split(). |
|
|
Definition at line 447 of file PerlRegEx.hpp. Referenced by compile(), compileFlags(), operator=(), and PerlRegEx(). |
|
|
Definition at line 446 of file PerlRegEx.hpp. Referenced by capture(), compile(), execute(), grep(), isCompiled(), match(), operator=(), PerlRegEx(), replace(), split(), and ~PerlRegEx(). |
|
|
Definition at line 450 of file PerlRegEx.hpp. Referenced by compile(), operator=(), patternString(), and PerlRegEx(). |
1.4.4