class QByteArrayMatcher

The QByteArrayMatcher class holds a sequence of bytes that can be quickly matched in a byte array. More

Synopsis

Methods

Note

This documentation may contain snippets that were automatically translated from C++ to Python. We always welcome contributions to the snippet translation. If you see an issue with the translation, you can also let us know by creating a ticket on https:/bugreports.qt.io/projects/PYSIDE

Detailed Description

This class is useful when you have a sequence of bytes that you want to repeatedly match against some byte arrays (perhaps in a loop), or when you want to search for the same sequence of bytes multiple times in the same byte array. Using a matcher object and indexIn() is faster than matching a plain QByteArray with indexOf() if repeated matching takes place. This class offers no benefit if you are doing one-off byte array matches.

Create the QByteArrayMatcher with the QByteArray you want to search for. Then call indexIn() on the QByteArray that you want to search.

See also

QByteArray QStringMatcher

__init__()

Constructs an empty byte array matcher that won’t match anything. Call setPattern() to give it a pattern to match.

__init__(pattern)
Parameters:

patternQByteArrayView

This is an overloaded function.

Constructs a byte array matcher that will search for pattern. Call indexIn() to perform a search.

Note

the data that pattern is referencing must remain valid while this object is used.

__init__(pattern)
Parameters:

patternQByteArray

Constructs a byte array matcher that will search for pattern. Call indexIn() to perform a search.

__init__(other)
Parameters:

otherQByteArrayMatcher

Copies the other byte array matcher to this byte array matcher.

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

  • length – int

Constructs a byte array matcher from pattern. pattern has the given length. Call indexIn() to perform a search.

Note

the data that pattern is referencing must remain valid while this object is used.

indexIn(data[, from=0])
Parameters:
  • dataQByteArrayView

  • from – int

Return type:

int

This is an overloaded function.

Searches the byte array data, from byte position from (default 0, i.e. from the first byte), for the byte array pattern() that was set in the constructor or in the most recent call to setPattern() . Returns the position where the pattern() matched in data, or -1 if no match was found.

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

  • len – int

  • from – int

Return type:

int

Searches the char string str, which has length len, from byte position from (default 0, i.e. from the first byte), for the byte array pattern() that was set in the constructor or in the most recent call to setPattern() . Returns the position where the pattern() matched in str, or -1 if no match was found.

pattern()
Return type:

QByteArray

Returns the byte array pattern that this byte array matcher will search for.

See also

setPattern()

setPattern(pattern)
Parameters:

patternQByteArray

Sets the byte array that this byte array matcher will search for to pattern.

See also

pattern() indexIn()