QByteArrayMatcher Class
QByteArrayMatcher 类保存了一组字节,这些字节可以在字节数组中快速进行匹配。更多内容...
| 头文件: | #include <QByteArrayMatcher> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
- 所有成员的列表,包括继承的成员
- QByteArrayMatcher 属于字符串数据类。
公共函数
| QByteArrayMatcher() | |
| QByteArrayMatcher(const QByteArray &pattern) | |
| QByteArrayMatcher(const char *pattern, qsizetype length = -1) | |
(since 6.3) | QByteArrayMatcher(QByteArrayView pattern) |
| QByteArrayMatcher(const QByteArrayMatcher &other) | |
| ~QByteArrayMatcher() | |
| qsizetype | indexIn(const char *str, qsizetype len, qsizetype from = 0) const |
(since 6.3) qsizetype | indexIn(QByteArrayView data, qsizetype from = 0) const |
| QByteArray | pattern() const |
| void | setPattern(const QByteArray &pattern) |
| QByteArrayMatcher & | operator=(const QByteArrayMatcher &other) |
详细说明
当您拥有一段字节序列,并希望将其与某些字节数组反复进行匹配(例如在循环中),或者希望在同一个字节数组中多次搜索相同的字节序列时,此类非常有用。如果需要进行多次匹配,使用匹配器对象和indexIn()比直接对普通QByteArray 使用QByteArray::indexOf()进行匹配速度更快。 如果你只是进行一次性的字节数组匹配,则该类没有任何优势。
使用要搜索的QByteArray 创建 QByteArrayMatcher。然后对要搜索的QByteArray 调用indexIn()。
另请参阅 QByteArray 和QStringMatcher 。
成员函数文档
QByteArrayMatcher::QByteArrayMatcher()
构建一个空的字节数组匹配器,该匹配器不会匹配任何内容。调用setPattern() 向其提供要匹配的模式。
[explicit] QByteArrayMatcher::QByteArrayMatcher(const QByteArray &pattern)
构建一个字节数组匹配器,用于搜索pattern 。调用indexIn() 来执行搜索。
[explicit] QByteArrayMatcher::QByteArrayMatcher(const char *pattern, qsizetype length = -1)
根据pattern 构建一个字节数组匹配器。pattern 具有给定的length 。调用indexIn()来执行搜索。
注意: 在使用该对象期间,pattern 所引用的数据必须保持有效。
[explicit, since 6.3] QByteArrayMatcher::QByteArrayMatcher(QByteArrayView pattern)
构建一个字节数组匹配器,用于搜索pattern 。调用indexIn() 进行搜索。
注意: 在使用该对象期间,pattern 所引用的数据必须保持有效。
这是一个重载函数。
该函数在 Qt 6.3 中引入。
QByteArrayMatcher::QByteArrayMatcher(const QByteArrayMatcher &other)
将other 字节数组匹配器复制到此字节数组匹配器。
[noexcept] QByteArrayMatcher::~QByteArrayMatcher()
销毁字节数组匹配器。
qsizetype QByteArrayMatcher::indexIn(const char *str, qsizetype len, qsizetype from = 0) const
从字节位置from (默认值为 0,即从第一个字节开始)开始,在长度为len 的字符串str 中,搜索在构造函数或最近一次调用setPattern() 时设置的字节数组pattern()。返回pattern() 在str 中匹配到的位置,若未找到匹配项,则返回 -1。
[since 6.3] qsizetype QByteArrayMatcher::indexIn(QByteArrayView data, qsizetype from = 0) const
从字节数组data 的字节位置from (默认值为0,即从第一个字节开始)开始,搜索在构造函数中或在最近一次调用setPattern()时设置的字节数组pattern()。返回pattern()在data 中匹配的位置,如果未找到匹配项,则返回-1。
这是一个重载函数。
该函数于 Qt 6.3 中引入。
QByteArray QByteArrayMatcher::pattern() const
返回该字节数组匹配器将用于搜索的字节数组模式。
另请参阅 setPattern()。
void QByteArrayMatcher::setPattern(const QByteArray &pattern)
将此字节数组匹配器要搜索的字节数组设置为pattern 。
QByteArrayMatcher &QByteArrayMatcher::operator=(const QByteArrayMatcher &other)
将other 字节数组匹配器分配给此字节数组匹配器。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.