QRegularExpressionMatch

The QRegularExpressionMatch class provides the results of a matching a QRegularExpression against a string. More

Inheritance diagram of PySide2.QtCore.QRegularExpressionMatch

Synopsis

Functions

Detailed Description

A QRegularExpressionMatch object can be obtained by calling the match() function, or as a single result of a global match from a QRegularExpressionMatchIterator .

The success or the failure of a match attempt can be inspected by calling the hasMatch() function. QRegularExpressionMatch also reports a successful partial match through the hasPartialMatch() function.

In addition, 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() and the capturedEnd() function, respectively. The length of each captured substring is available using the capturedLength() function.

The convenience function capturedTexts() will return 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) .

You can retrieve the 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() and the matchOptions() respectively.

Please refer to the QRegularExpression documentation for more information about the Qt regular expression classes.

class QRegularExpressionMatch

QRegularExpressionMatch(match)

param match

QRegularExpressionMatch

Constructs a valid, empty QRegularExpressionMatch object. The regular expression is set to a default-constructed one; the match type to NoMatch and the match options to NoMatchOption .

The object will report no match through the hasMatch() and the hasPartialMatch() member functions.

Constructs a match result by copying the result of the given match .

See also

operator=()

PySide2.QtCore.QRegularExpressionMatch.captured(name)
Parameters

name – unicode

Return type

unicode

PySide2.QtCore.QRegularExpressionMatch.captured([nth=0])
Parameters

nthint

Return type

unicode

Returns the substring captured by the nth capturing group.

If the nth capturing group did not capture a string, or if there is no such capturing group, returns a null QString .

Note

The implicit capturing group number 0 captures the substring matched by the entire pattern.

PySide2.QtCore.QRegularExpressionMatch.capturedEnd(name)
Parameters

name – unicode

Return type

int

PySide2.QtCore.QRegularExpressionMatch.capturedEnd([nth=0])
Parameters

nthint

Return type

int

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.

PySide2.QtCore.QRegularExpressionMatch.capturedLength(name)
Parameters

name – unicode

Return type

int

PySide2.QtCore.QRegularExpressionMatch.capturedLength([nth=0])
Parameters

nthint

Return type

int

Returns the length of the substring captured by the nth capturing group.

Note

This function returns 0 if the nth capturing group did not capture a string or doesn’t exist.

PySide2.QtCore.QRegularExpressionMatch.capturedRef(name)
Parameters

name – unicode

Return type

QStringRef

PySide2.QtCore.QRegularExpressionMatch.capturedRef([nth=0])
Parameters

nthint

Return type

QStringRef

Returns a reference to the substring captured by the nth capturing group.

If the nth capturing group did not capture a string, or if there is no such capturing group, returns a null QStringRef .

Note

The implicit capturing group number 0 captures the substring matched by the entire pattern.

PySide2.QtCore.QRegularExpressionMatch.capturedStart([nth=0])
Parameters

nthint

Return type

int

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.

PySide2.QtCore.QRegularExpressionMatch.capturedStart(name)
Parameters

name – unicode

Return type

int

PySide2.QtCore.QRegularExpressionMatch.capturedTexts()
Return type

list of strings

Returns a list of all strings captured by capturing groups, in the order the groups themselves appear in the pattern string. The list includes the implicit capturing group number 0, capturing the substring matched by the entire pattern.

PySide2.QtCore.QRegularExpressionMatch.hasMatch()
Return type

bool

Returns true if the regular expression matched against the subject string, or false otherwise.

PySide2.QtCore.QRegularExpressionMatch.hasPartialMatch()
Return type

bool

Returns true if the regular expression partially matched against the subject string, or false otherwise.

Note

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.

See also

match() MatchType hasMatch()

PySide2.QtCore.QRegularExpressionMatch.isValid()
Return type

bool

Returns true if the match object was obtained as a result from the match() function invoked on a valid QRegularExpression object; returns false if the QRegularExpression was invalid.

See also

match() isValid()

PySide2.QtCore.QRegularExpressionMatch.lastCapturedIndex()
Return type

int

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 could have not matched, and therefore captured nothing.

If the regular expression did not match, this function returns -1.

PySide2.QtCore.QRegularExpressionMatch.matchOptions()
Return type

MatchOptions

Returns the match options that were used to get this QRegularExpressionMatch object, that is, the match options that were passed to match() or globalMatch() .

PySide2.QtCore.QRegularExpressionMatch.matchType()
Return type

MatchType

Returns the match type that was used to get this QRegularExpressionMatch object, that is, the match type that was passed to match() or globalMatch() .

PySide2.QtCore.QRegularExpressionMatch.regularExpression()
Return type

QRegularExpression

Returns the QRegularExpression object whose match() function returned this object.

PySide2.QtCore.QRegularExpressionMatch.swap(other)
Parameters

otherQRegularExpressionMatch

Swaps the match result other with this match result. This operation is very fast and never fails.