PySide6.QtCore.QRegularExpressionMatchIterator¶
- class QRegularExpressionMatchIterator¶
QRegularExpressionMatchIterator类提供了一个迭代器,用于遍历QRegularExpression对象与字符串的全局匹配结果。更多…概要¶
方法¶
def
__init__()def
hasNext()def
isValid()def
matchOptions()def
matchType()def
next()def
peekNext()def
swap()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
警告
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
一个
QRegularExpressionMatchIterator对象是一个仅向前移动的类似Java的迭代器;它可以通过调用globalMatch()函数获得。一个新的QRegularExpressionMatchIterator将定位在第一个结果之前。然后你可以调用hasNext()函数来检查是否有更多的结果可用;如果有,next()函数将返回下一个结果并推进迭代器。每个结果都是一个
QRegularExpressionMatch对象,包含该结果的所有信息(包括捕获的子字符串)。例如:
# extracts the words re = QRegularExpression("(\\w+)") subject = QString("the quick fox") i = re.globalMatch(subject) while i.hasNext(): match = i.next() # ...
此外,
QRegularExpressionMatchIterator提供了一个peekNext()函数,用于获取下一个结果而不推进迭代器。从 Qt 6.0 开始,也可以在基于范围的 for 循环中简单地使用
globalMatch的结果,例如像这样:# using a raw string literal, R"(raw_characters)", to be able to use "\w" # without having to escape the backslash as "\\w" re = QRegularExpression(R"(\w+)") subject = QString("the quick fox") for match in re.globalMatch(subject): # ...
你可以通过调用
regularExpression()函数来检索主题字符串所匹配的QRegularExpression对象;匹配类型和匹配选项也可以通过分别调用matchType()和matchOptions()来获取。请参阅
QRegularExpression文档以获取有关Qt正则表达式类的更多信息。- __init__()¶
构造一个空的、有效的
QRegularExpressionMatchIterator对象。正则表达式设置为默认构造的;匹配类型设置为NoMatch,匹配选项设置为NoMatchOption。在构造的对象上调用
hasNext()成员函数将返回false,因为迭代器没有在有效的匹配序列上进行迭代。- __init__(iterator)
- Parameters:
构造一个
QRegularExpressionMatchIterator对象作为iterator的副本。另请参阅
operator=()- hasNext()¶
- Return type:
布尔
如果迭代器前面至少有一个匹配结果,则返回
true;否则返回false。另请参阅
- isValid()¶
- Return type:
布尔
如果迭代器对象是通过在有效的
QRegularExpression对象上调用globalMatch()函数获得的,则返回true;如果QRegularExpression无效,则返回false。另请参阅
- matchOptions()¶
- Return type:
MatchOption的组合
返回用于获取此
QRegularExpressionMatchIterator对象的匹配选项,即传递给globalMatch()的匹配选项。返回用于获取此
QRegularExpressionMatchIterator对象的匹配类型,即传递给globalMatch()的匹配类型。- next()¶
- Return type:
返回下一个匹配结果并将迭代器前进一个位置。
注意
当迭代器位于结果集的末尾时调用此函数会导致未定义的结果。
- peekNext()¶
- Return type:
返回下一个匹配结果而不移动迭代器。
注意
当迭代器位于结果集的末尾时调用此函数会导致未定义的结果。
- regularExpression()¶
- Return type:
返回其globalMatch()函数返回此对象的
QRegularExpression对象。- swap(other)¶
- Parameters:
将此迭代器对象与迭代器
other交换。此操作非常快速且永远不会失败。