QStringMatcher类
QStringMatcher类包含一个可快速在Unicode字符串中匹配的字符序列。更多信息...
头部 | #include <QStringMatcher> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake | QT += core |
- 所有成员的列表,包括继承成员
- QStringMatcher是字符串数据处理类的一部分。
公共函数
QStringMatcher() | |
QStringMatcher(const QString &pattern, Qt::CaseSensitivity cs = Qt::CaseSensitive) | |
QStringMatcher(const QChar *uc, qsizetype length, Qt::CaseSensitivity cs = Qt::CaseSensitive) | |
QStringMatcher(QStringView pattern, Qt::CaseSensitivity cs = Qt::CaseSensitive) | |
QStringMatcher(const QStringMatcher &other) | |
~QStringMatcher() | |
Qt::CaseSensitivity | caseSensitivity() const |
qsizetype | indexIn(const QString &str, qsizetype from = 0) const |
qsizetype | indexIn(const QChar *str, qsizetype length, qsizetype from = 0) const |
qsizetype | indexIn(QStringView str, 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的QString::indexOf()进行普通字符串匹配更快。如果只是进行一次字符串匹配,则本类不会提供任何优势。
使用您要搜索的QString构建QStringMatcher。然后对您想要搜索的QString调用indexIn()。
另请参阅QString、QByteArrayMatcher和QRegularExpression。
成员函数文档
[constexpr noexcept]
QStringMatcher::QStringMatcher()
构造一个空字符串匹配器,无法与任何内容匹配。调用 setPattern() 以提供匹配的模式。
[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(QStringView pattern, Qt::CaseSensitivity cs = Qt::CaseSensitive)
构造一个字符串匹配器,将搜索 pattern,具有 cs 的大小写敏感度。
调用 indexIn() 执行搜索。
QStringMatcher::QStringMatcher(const QStringMatcher &other)
将 other 字符串匹配器复制到这个字符串匹配器中。
[noexcept]
QStringMatcher::~QStringMatcher()
销毁字符串匹配器。
Qt::CaseSensitivity QStringMatcher::caseSensitivity() const
返回该字符串匹配器的大小写敏感度设置。
另请参阅setCaseSensitivity().
qsizetype QStringMatcher::indexIn(const QString &str, qsizetype from = 0) const
从字符位置 from(默认 0,即从第一个字符开始)搜索字符串 str 中的 pattern(),该模式是在构造函数中或在最近的 setPattern() 调用中设置的。返回 pattern() 在 str 中匹配的位置,如果没有找到匹配项,则返回 -1。
另请参阅setPattern() 和 setCaseSensitivity().
qsizetype QStringMatcher::indexIn(const QChar *str, qsizetype length, qsizetype from = 0) const
从 str(长度为 length)的起始位置搜索字符串,寻找在构造函数中或在最近的 setPattern() 调用中设置的 pattern()。返回 pattern() 在 str 中匹配的位置,如果没有找到匹配项,则返回 -1。
另请参阅setPattern() 和 setCaseSensitivity().
qsizetype QStringMatcher::indexIn(QStringView str, qsizetype from = 0) const
从字符位置 from(默认 0,即从第一个字符开始)搜索字符串 str 中的 pattern(),该模式是在构造函数中或在最近的 setPattern() 调用中设置的。返回 pattern() 在 str 中匹配的位置,如果没有找到匹配项,则返回 -1。
另请参阅setPattern() 和 setCaseSensitivity().
QString QStringMatcher::pattern() const
返回此字符串匹配器将要搜索的字符串模式。
另请参阅 setPattern().
[不抛出异常,自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字符串匹配器赋值给此字符串匹配器。
© 2024 The Qt Company Ltd. 其中包含的文档贡献是各自所有者的版权。此处提供的文档根据GNU自由文档许可证版本1.3的条款进行许可,由自由软件基金会发布。Qt及其相关徽标是The Qt Company Ltd.在芬兰和/或世界其他国家的商标。所有其他商标均为各自所有者的财产。