QStringMatcher 类

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

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

公共函数

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
void setCaseSensitivity (Qt::CaseSensitivity cs )
void setPattern (const QString & pattern )
QStringMatcher & operator= (const QStringMatcher & other )

详细描述

This class is useful when you have a sequence of QChar s that you want to repeatedly match against some strings (perhaps in a loop), or when you want to search for the same sequence of characters multiple times in the same string. Using a matcher object and indexIn () is faster than matching a plain QString with QString::indexOf () if repeated matching takes place. This class offers no benefit if you are doing one-off string matches.

Create the QStringMatcher with the QString you want to search for. Then call indexIn () on the QString that you want to search.

另请参阅 QString , QByteArrayMatcher ,和 QRegularExpression .

成员函数文档编制

[constexpr noexcept] QStringMatcher:: QStringMatcher ()

Constructs an empty string matcher that won't match anything. Call setPattern () to give it a pattern to match.

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

Constructs a string matcher that will search for pattern , with case sensitivity cs .

调用 indexIn () to perform a search.

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

Constructs a string matcher that will search for the pattern referred to by uc 采用给定 length and case sensitivity specified by cs .

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

Constructs a string matcher that will search for pattern , with case sensitivity cs .

调用 indexIn () to perform a search.

QStringMatcher:: QStringMatcher (const QStringMatcher & other )

拷贝 other string matcher to this string matcher.

[noexcept] QStringMatcher:: ~QStringMatcher ()

Destroys the string matcher.

Qt::CaseSensitivity QStringMatcher:: caseSensitivity () const

Returns the case sensitivity setting for this string matcher.

另请参阅 setCaseSensitivity ().

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

Searches the string str from character position from (default 0, i.e. from the first character), for the string pattern () that was set in the constructor or in the most recent call to setPattern (). Returns the position where the pattern () matched in str , or -1 if no match was found.

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

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

Searches the string starting at str (of length length ) from character position from (default 0, i.e. from the first character), for the string pattern () that was set in the constructor or in the most recent call to setPattern (). Returns the position where the pattern () matched in str , or -1 if no match was found.

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

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

Searches the string str from character position from (default 0, i.e. from the first character), for the string pattern () that was set in the constructor or in the most recent call to setPattern (). Returns the position where the pattern () matched in str , or -1 if no match was found.

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

QString QStringMatcher:: pattern () const

Returns the string pattern that this string matcher will search for.

另请参阅 setPattern ().

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

Sets the case sensitivity setting of this string matcher to cs .

另请参阅 caseSensitivity (), setPattern (),和 indexIn ().

void QStringMatcher:: setPattern (const QString & pattern )

Sets the string that this string matcher will search for to pattern .

另请参阅 pattern (), setCaseSensitivity (),和 indexIn ().

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

赋值 other string matcher to this string matcher.