QStringMatcher Class
QStringMatcher 类保存了一串字符,这些字符可以在 Unicode 字符串中快速进行匹配。更多内容...
| 头文件: | #include <QStringMatcher> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
- 所有成员的列表,包括继承的成员
- QStringMatcher 属于字符串数据类。
公共函数
| 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) |
详细说明
当您拥有一系列QChar,并希望将其反复与某些字符串进行匹配(例如在循环中),或者希望在同一字符串中多次搜索相同的字符序列时,此类非常有用。如果需要进行重复匹配,使用匹配器对象和indexIn()比使用QString::indexOf()对普通QString 进行匹配速度更快。 若仅进行一次性字符串匹配,则该类无任何优势。
另请参阅 QString 、QByteArrayMatcher 和QRegularExpression 。
成员函数文档
[constexpr noexcept default] 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)
构建一个字符串匹配器,该匹配器将使用uc 指定的模式、length 中给定的参数,并根据cs 中指定的区分大小写设置进行搜索。
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 ”分配给此字符串匹配器。
© 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.