The QRegularExpressionMatch class provides the results of a matching a QRegularExpression 与字符串。 更多...
头: | #include <QRegularExpressionMatch> |
qmake: | QT += core |
Since: | Qt 5.0 |
注意: 此类的所有函数 可重入 .
QRegularExpressionMatch () | |
QRegularExpressionMatch (const QRegularExpressionMatch & match ) | |
~QRegularExpressionMatch () | |
QString | captured (int nth = 0) const |
QString | captured (const QString & name ) const |
int | capturedEnd (int nth = 0) const |
int | capturedEnd (const QString & name ) const |
int | capturedLength (int nth = 0) const |
int | capturedLength (const QString & name ) const |
QStringRef | capturedRef (int nth = 0) const |
QStringRef | capturedRef (const QString & name ) const |
int | capturedStart (int nth = 0) const |
int | capturedStart (const QString & name ) const |
QStringList | capturedTexts () const |
bool | hasMatch () const |
bool | hasPartialMatch () const |
bool | isValid () const |
int | lastCapturedIndex () const |
QRegularExpression::MatchOptions | matchOptions () const |
QRegularExpression::MatchType | matchType () const |
QRegularExpression | regularExpression () const |
void | swap (QRegularExpressionMatch & other ) |
QRegularExpressionMatch & | operator= (const QRegularExpressionMatch & match ) |
QRegularExpressionMatch & | operator= (QRegularExpressionMatch && match ) |
QDebug | operator<< (QDebug debug , const QRegularExpressionMatch & match ) |
The QRegularExpressionMatch class provides the results of a matching a QRegularExpression 与字符串。
A QRegularExpressionMatch object can be obtained by calling the QRegularExpression::match () 函数,或作为全局匹配的单个结果来自 QRegularExpressionMatchIterator .
The success or the failure of a match attempt can be inspected by calling the hasMatch () 函数。 QRegularExpressionMatch also reports a successful partial match through the hasPartialMatch () 函数。
此外, QRegularExpressionMatch returns the substrings captured by the capturing groups in the pattern string. The implicit capturing group with index 0 captures the result of the whole match. The captured () function returns each substring captured, either by the capturing group's index or by its name:
QRegularExpression re("(\\d\\d) (?<name>\\w+)"); QRegularExpressionMatch match = re.match("23 Jordan"); if (match.hasMatch()) { QString number = match.captured(1); // first == "23" QString name = match.captured("name"); // name == "Jordan" }
For each captured substring it is possible to query its starting and ending offsets in the subject string by calling the capturedStart () 和 capturedEnd () function, respectively. The length of each captured substring is available using the capturedLength () 函数。
The convenience function
capturedTexts
() 会返回
all
the captured substrings at once (including the substring matched by the entire pattern) in the order they have been captured by captring groups; that is,
captured(i) == capturedTexts().at(i)
.
可以检索 QRegularExpression object the subject string was matched against by calling the regularExpression () function; the match type and the match options are available as well by calling the matchType () 和 matchOptions () 分别。
请参考 QRegularExpression 文档编制,了解有关 Qt 正则表达式类的更多信息。
另请参阅 QRegularExpression .
Constructs a valid, empty QRegularExpressionMatch object. The regular expression is set to a default-constructed one; the match type to QRegularExpression::NoMatch and the match options to QRegularExpression::NoMatchOption .
The object will report no match through the hasMatch () 和 hasPartialMatch () member functions.
该函数在 Qt 5.1 引入。
Constructs a match result by copying the result of the given match .
另请参阅 operator= ().
销毁匹配结果。
返回子字符串捕获通过 nth capturing group. If the nth capturing group did not capture a string or doesn't exist, returns a null QString .
另请参阅 capturedRef (), lastCapturedIndex (), capturedStart (), capturedEnd (), capturedLength (),和 QString::isNull ().
Returns the substring captured by the capturing group named name . If the capturing group named name did not capture a string or doesn't exist, returns a null QString .
另请参阅 capturedRef (), capturedStart (), capturedEnd (), capturedLength (),和 QString::isNull ().
Returns the offset inside the subject string immediately after the ending position of the substring captured by the nth capturing group. If the nth capturing group did not capture a string or doesn't exist, returns -1.
另请参阅 capturedStart (), capturedLength (),和 captured ().
Returns the offset inside the subject string immediately after the ending position of the substring captured by the capturing group named name . If the capturing group named name did not capture a string or doesn't exist, returns -1.
另请参阅 capturedStart (), capturedLength (),和 captured ().
Returns the length of the substring captured by the nth 捕获组。
注意: This function returns 0 if the nth capturing group did not capture a string or doesn't exist.
另请参阅 capturedStart (), capturedEnd (),和 captured ().
Returns the offset inside the subject string corresponding to the starting position of the substring captured by the capturing group named name .
注意: This function returns 0 if the capturing group named name did not capture a string or doesn't exist.
另请参阅 capturedStart (), capturedEnd (),和 captured ().
Returns a reference to the substring captured by the nth capturing group. If the nth capturing group did not capture a string or doesn't exist, returns a null QStringRef .
另请参阅 captured (), lastCapturedIndex (), capturedStart (), capturedEnd (), capturedLength (),和 QStringRef::isNull ().
Returns a reference to the string captured by the capturing group named name . If the capturing group named name did not capture a string or doesn't exist, returns a null QStringRef .
另请参阅 captured (), capturedStart (), capturedEnd (), capturedLength (),和 QStringRef::isNull ().
Returns the offset inside the subject string corresponding to the starting position of the substring captured by the nth capturing group. If the nth capturing group did not capture a string or doesn't exist, returns -1.
另请参阅 capturedEnd (), capturedLength (),和 captured ().
Returns the offset inside the subject string corresponding to the starting position of the substring captured by the capturing group named name . If the capturing group named name did not capture a string or doesn't exist, returns -1.
另请参阅 capturedEnd (), capturedLength (),和 captured ().
Returns a list of all strings captured by capturing groups, in the order the groups themselves appear in the pattern string.
返回
true
if the regular expression matched against the subject string, or false otherwise.
另请参阅 QRegularExpression::match () 和 hasPartialMatch ().
返回
true
if the regular expression partially matched against the subject string, or false otherwise.
注意: Only a match that explicitly used the one of the partial match types can yield a partial match. Still, if such a match succeeds totally, this function will return false, while hasMatch () will return true.
另请参阅 QRegularExpression::match (), QRegularExpression::MatchType ,和 hasMatch ().
返回
true
if the match object was obtained as a result from the
QRegularExpression::match
() function invoked on a valid
QRegularExpression
对象;返回
false
若
QRegularExpression
was invalid.
另请参阅 QRegularExpression::match () 和 QRegularExpression::isValid ().
Returns the index of the last capturing group that captured something, including the implicit capturing group 0. This can be used to extract all the substrings that were captured:
QRegularExpressionMatch match = re.match(string); for (int i = 0; i <= match.lastCapturedIndex(); ++i) { QString captured = match.captured(i); // ... }
Note that some of the capturing groups with an index less than lastCapturedIndex() could have not matched, and therefore captured nothing.
If the regular expression did not match, this function returns -1.
另请参阅 captured (), capturedStart (), capturedEnd (),和 capturedLength ().
Returns the match options that were used to get this QRegularExpressionMatch object, that is, the match options that were passed to QRegularExpression::match () 或 QRegularExpression::globalMatch ().
另请参阅 QRegularExpression::match (), regularExpression (),和 matchType ().
Returns the match type that was used to get this QRegularExpressionMatch object, that is, the match type that was passed to QRegularExpression::match () 或 QRegularExpression::globalMatch ().
另请参阅 QRegularExpression::match (), regularExpression (),和 matchOptions ().
返回 QRegularExpression object whose match() function returned this object.
另请参阅 QRegularExpression::match (), matchType (),和 matchOptions ().
Swaps the match result other with this match result. This operation is very fast and never fails.
Assigns the match result match to this object, and returns a reference to the copy.
Move-assigns the match result match to this object, and returns a reference to the copy.
Writes the match object match 到 debug 对象 debug 为调试目的。
另请参阅 调试技术 .