本页内容

QLatin1StringMatcher Class

针对 Latin-1 文本的子字符串搜索优化。更多...

标题: #include <QLatin1StringMatcher>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
自: Qt 6.5

公共函数

QLatin1StringMatcher()
QLatin1StringMatcher(QLatin1StringView pattern, Qt::CaseSensitivity cs = Qt::CaseSensitive)
~QLatin1StringMatcher()
Qt::CaseSensitivity caseSensitivity() const
qsizetype indexIn(QLatin1StringView haystack, qsizetype from = 0) const
(since 6.8) qsizetype indexIn(QStringView haystack, qsizetype from = 0) const
QLatin1StringView pattern() const
void setCaseSensitivity(Qt::CaseSensitivity cs)
void setPattern(QLatin1StringView pattern)

详细说明

QLatin1StringMatcher 可以搜索一个QLatin1StringView 作为另一个字符串的子字符串,既可以忽略大小写,也可以考虑大小写。

当您有一个 Latin-1 编码的字符串,并希望在某些 QLatin1StringViews 中反复搜索它(也许是在一个循环中),或者当您希望在给定的QLatin1StringView 中搜索该字符串的所有实例时,此类非常有用。如果需要进行反复匹配,使用匹配器对象和indexIn() 比使用QLatin1StringView::indexOf() 匹配普通的QLatin1StringView 更快。 若仅进行一次性匹配,此类则无实际优势。在匹配器对象被销毁之前,待搜索的字符串不得被销毁或修改,因为匹配器在搜索时会访问该字符串。

根据要搜索的QLatin1StringView 以及大小写区分规则,创建一个 QLatin1StringMatcher 对象。然后使用要搜索的QLatin1StringView 调用indexIn() 方法。

另请参阅 QLatin1StringView 、QStringMatcher 和QByteArrayMatcher 。

成员函数文档

[noexcept] QLatin1StringMatcher::QLatin1StringMatcher()

构建一个空的 Latin-1 字符串匹配器。该匹配器将与任何字符串中的每个位置匹配。

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

[explicit noexcept] QLatin1StringMatcher::QLatin1StringMatcher(QLatin1StringView pattern, Qt::CaseSensitivity cs = Qt::CaseSensitive)

构建一个 Latin-1 字符串匹配器,该匹配器会根据给定的pattern ,并按给定的区分大小写设置cs ,搜索该字符串。pattern 参数在该匹配器对象销毁之前不得被销毁。调用indexIn()可在给定的QLatin1StringView 中查找pattern 。

[noexcept] QLatin1StringMatcher::~QLatin1StringMatcher()

销毁 Latin-1 字符串匹配器。

[noexcept] Qt::CaseSensitivity QLatin1StringMatcher::caseSensitivity() const

返回匹配器所使用的大小写敏感性。

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

[noexcept] qsizetype QLatin1StringMatcher::indexIn(QLatin1StringView haystack, qsizetype from = 0) const

从from 开始,在给定的haystack 中搜索该模式。

另请参阅 caseSensitivity() 和pattern()。

[noexcept, since 6.8] qsizetype QLatin1StringMatcher::indexIn(QStringView haystack, qsizetype from = 0) const

在给定的haystack 中,从索引位置from 开始搜索该模式。

这是一个重载函数。

该函数在 Qt 6.8 中引入。

另请参阅 caseSensitivity() 和pattern()。

[noexcept] QLatin1StringView QLatin1StringMatcher::pattern() const

返回匹配器用于搜索的 Latin-1 模式。

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

[noexcept] void QLatin1StringMatcher::setCaseSensitivity(Qt::CaseSensitivity cs)

将大小写敏感性设置为cs 。

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

[noexcept] void QLatin1StringMatcher::setPattern(QLatin1StringView pattern)

设置要搜索的pattern 。QLatin1StringView 所指向的字符串在匹配器销毁之前不得被销毁,除非它已被设置为指向另一个生命周期更长的pattern 。

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

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