QStringMatcher Class

QStringMatcher 类保存可在 Unicode 字符串中快速匹配的字符序列。更多

头文件: #include <QStringMatcher>
CMake.QStringMatcher find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core

公共函数

QStringMatcher()
QStringMatcher(QStringView pattern, Qt::CaseSensitivity cs = Qt::CaseSensitive)
QStringMatcher(const QString &pattern, Qt::CaseSensitivity cs = Qt::CaseSensitive)
QStringMatcher(const QChar *uc, qsizetype length, Qt::CaseSensitivity cs = Qt::CaseSensitive)
QStringMatcher(const QStringMatcher &other)
~QStringMatcher()
Qt::CaseSensitivity caseSensitivity() const
qsizetype indexIn(QStringView str, qsizetype from = 0) const
qsizetype indexIn(const QString &str, qsizetype from = 0) const
qsizetype indexIn(const QChar *str, qsizetype length, qsizetype from = 0) const
QString pattern() const
(since 6.7) QStringView patternView() const
void setCaseSensitivity(Qt::CaseSensitivity cs)
void setPattern(const QString &pattern)
QStringMatcher &operator=(const QStringMatcher &other)

详细说明

当您有一个QChars 序列,而您想重复匹配某些字符串(也许是在一个循环中),或者当您想在同一字符串中多次搜索相同的字符序列时,该类非常有用。如果重复匹配,使用匹配器对象和indexIn() 比使用QString::indexOf() 匹配普通QString 更快。如果进行一次性字符串匹配,该类则没有任何好处。

使用要搜索的QString 创建 QStringMatcher。然后在要搜索的QString 上调用indexIn() 。

另请参阅 QString,QByteArrayMatcher, 和QRegularExpression

成员函数文档

[constexpr noexcept] QStringMatcher::QStringMatcher()

构造一个不匹配任何内容的空字符串匹配器。调用setPattern() 给它一个匹配模式。

QStringMatcher::QStringMatcher(QStringView pattern, Qt::CaseSensitivity cs = Qt::CaseSensitive)

构造一个字符串匹配器,搜索pattern, 大小写敏感cs

调用indexIn() 执行搜索。

[explicit] QStringMatcher::QStringMatcher(const QString &pattern, Qt::CaseSensitivity cs = Qt::CaseSensitive)

构造一个字符串匹配器,搜索pattern, 大小写敏感cs

调用indexIn() 执行搜索。

QStringMatcher::QStringMatcher(const QChar *uc, qsizetype length, Qt::CaseSensitivity cs = Qt::CaseSensitive)

构造一个字符串匹配器,用给定的lengthcs 指定的大小写敏感性搜索uc 提及的模式。

QStringMatcher::QStringMatcher(const QStringMatcher &other)

other 字符串匹配器复制到此字符串匹配器。

[noexcept] QStringMatcher::~QStringMatcher()

销毁字符串匹配器。

Qt::CaseSensitivity QStringMatcher::caseSensitivity() const

返回此字符串匹配器的大小写敏感性设置。

另请参阅 setCaseSensitivity()。

qsizetype QStringMatcher::indexIn(QStringView str, qsizetype from = 0) const

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

另请参阅 setPattern() 和setCaseSensitivity()。

qsizetype QStringMatcher::indexIn(const QString &str, qsizetype from = 0) const

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

另请参阅 setPattern() 和setCaseSensitivity()。

qsizetype QStringMatcher::indexIn(const QChar *str, qsizetype length, qsizetype from = 0) const

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

另请参见 setPattern() 和setCaseSensitivity()。

QString QStringMatcher::pattern() const

返回字符串匹配器要搜索的字符串模式。

另请参阅 setPattern()。

[noexcept, since 6.7] QStringView QStringMatcher::patternView() const

返回该字符串匹配器将搜索的模式的字符串视图。

此函数在 Qt 6.7 中引入。

另请参阅 setPattern()。

void QStringMatcher::setCaseSensitivity(Qt::CaseSensitivity cs)

将此字符串匹配器的大小写敏感度设置为cs

另请参阅 caseSensitivity()、setPattern() 和indexIn()。

void QStringMatcher::setPattern(const QString &pattern)

将此字符串匹配器搜索的字符串设置为pattern

另请参阅 pattern()、setCaseSensitivity() 和indexIn()。

QStringMatcher &QStringMatcher::operator=(const QStringMatcher &other)

other 字符串匹配器分配给此字符串匹配器。

© 2025 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.