The QStringMatcher class holds a sequence of characters that can be quickly matched in a Unicode string. More...
Header: | #include <QStringMatcher> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake: | QT += core |
QStringMatcher(const QStringMatcher &other) | |
QStringMatcher(QStringView pattern, Qt::CaseSensitivity cs = Qt::CaseSensitive) | |
QStringMatcher(const QChar *uc, qsizetype length, Qt::CaseSensitivity cs = Qt::CaseSensitive) | |
QStringMatcher(const QString &pattern, Qt::CaseSensitivity cs = Qt::CaseSensitive) | |
QStringMatcher() | |
QStringMatcher & | operator=(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) |
This class is useful when you have a sequence of QChars 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.
See also QString, QByteArrayMatcher, and QRegularExpression.
Copies the other string matcher to this string matcher.
[since 5.14]
QStringMatcher::QStringMatcher(QStringView pattern, Qt::CaseSensitivity cs = Qt::CaseSensitive)Constructs a string matcher that will search for pattern, with case sensitivity cs.
Call indexIn() to perform a search.
This function was introduced in Qt 5.14.
Constructs a string matcher that will search for the pattern referred to by uc with the given length and case sensitivity specified by cs.
Constructs a string matcher that will search for pattern, with case sensitivity cs.
Call indexIn() to perform a search.
Constructs an empty string matcher that won't match anything. Call setPattern() to give it a pattern to match.
Assigns the other string matcher to this string matcher.
Destroys the string matcher.
Returns the case sensitivity setting for this string matcher.
See also setCaseSensitivity().
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.
See also setPattern() and setCaseSensitivity().
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.
See also setPattern() and setCaseSensitivity().
[since 5.14]
qsizetype QStringMatcher::indexIn(QStringView str,
qsizetype from = 0) constSearches 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.
This function was introduced in Qt 5.14.
See also setPattern() and setCaseSensitivity().
Returns the string pattern that this string matcher will search for.
See also setPattern().
Sets the case sensitivity setting of this string matcher to cs.
See also caseSensitivity(), setPattern(), and indexIn().
Sets the string that this string matcher will search for to pattern.
See also pattern(), setCaseSensitivity(), and indexIn().