class QByteArrayMatcher#

QByteArrayMatcher类保存了一个可以快速在字节数组中匹配的字节序列。更多

概要#

方法#

注意

此文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对片段翻译的贡献。如果您发现翻译有问题,您也可以通过在https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。

详细信息#

此类适用于当你有一系列字节并且需要反复匹配一些字节数组(可能在循环中),或者在同一个字节数组中多次搜索相同的字节序列。使用匹配器对象和 indexIn() 方法,比使用 QByteArrayindexOf() 方法匹配普通字节数组更高效,尤其是在需要重复匹配的情况下。如果你只进行一次字节匹配,那么此类提供的好处有限。

使用想要搜索的 QByteArray 创建 QByteArrayMatcher。然后对你想搜索的 QByteArray 调用 indexIn() 方法。

另请参阅

QByteArray QStringMatcher

__init__()#

构造一个空的字节数组匹配器,它不会匹配任何内容。通过调用 setPattern() 给它一个要匹配的模式。

__init__(pattern)
参数:

patternQByteArrayView

这是一个重载函数。

构建一个将搜索 pattern 的字节数组查找器。通过调用 indexIn() 执行搜索。

注意

在调用此对象的过程中,模式 pattern 引用的数据必须保持有效。

__init__(pattern)
参数:

patternQByteArray

构建一个将搜索 pattern 的字节数组查找器。通过调用 indexIn() 执行搜索。

__init__(other)
参数:

otherQByteArrayMatcher

other 字节数组查找器复制到当前的字节数组查找器。

__init__(pattern[, length=-1])
参数:
  • pattern – str

  • length – int

pattern 构建一个字节数组匹配器。该 pattern 具有给定的 length。调用 indexIn() 执行搜索。

注意

在调用此对象的过程中,模式 pattern 引用的数据必须保持有效。

indexIn(data[, from=0])#
参数:
  • dataQByteArrayView

  • from – int

返回类型:

int

这是一个重载函数。

从字节位置 from (默认为 0,即从第一个字节开始) 搜索字节数组 data,寻找在构造函数或最近的 setPattern() 调用中设置的 pattern() 字节数组。返回在 data 中与 pattern() 匹配的位置,如果没有找到匹配项则返回 -1。

indexIn(str, len[, from=0])
参数:
  • str – str

  • len – int

  • from – int

返回类型:

int

在具有长度 len 的字符字符串 str 中,从字节位置 from (默认为 0,即从第一个字节) 搜索在构造函数或最近的 setPattern() 调用中设置的 pattern() 字节数组。返回在 str 中与 pattern() 匹配的位置,如果没有找到匹配项则返回 -1。

pattern()#
返回类型:

QByteArray

返回此字节数组匹配器将要搜索的字节数组模式。

另请参阅

setPattern()

setPattern(pattern)#
参数:

patternQByteArray

将此字节数组匹配器将要搜索的字节数组设置到 pattern

另请参阅

pattern() indexIn()