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
交换。此操作非常快速且永远不会失败。