Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
QStringMatcher Class Reference

\inmodule QtCore More...

#include <qstringmatcher.h>

+ Collaboration diagram for QStringMatcher:

Public Member Functions

 QStringMatcher ()=default
 Constructs an empty string matcher that won't match anything.
 
 QStringMatcher (const QString &pattern, Qt::CaseSensitivity cs=Qt::CaseSensitive)
 Constructs a string matcher that will search for pattern, with case sensitivity cs.
 
 QStringMatcher (const QChar *uc, qsizetype len, Qt::CaseSensitivity cs=Qt::CaseSensitive)
 
 QStringMatcher (QStringView pattern, Qt::CaseSensitivity cs=Qt::CaseSensitive)
 
 QStringMatcher (const QStringMatcher &other)
 Copies the other string matcher to this string matcher.
 
 ~QStringMatcher ()
 Destroys the string matcher.
 
QStringMatcheroperator= (const QStringMatcher &other)
 Assigns the other string matcher to this string matcher.
 
void setPattern (const QString &pattern)
 Sets the string that this string matcher will search for to pattern.
 
void setCaseSensitivity (Qt::CaseSensitivity cs)
 Sets the case sensitivity setting of this string matcher to cs.
 
qsizetype indexIn (const QString &str, qsizetype from=0) const
 Searches the string str from character position from (default 0, i.e.
 
qsizetype indexIn (const QChar *str, qsizetype length, qsizetype from=0) const
 
qsizetype indexIn (QStringView str, qsizetype from=0) const
 
QString pattern () const
 Returns the string pattern that this string matcher will search for.
 
QStringView patternView () const noexcept
 
Qt::CaseSensitivity caseSensitivity () const
 Returns the case sensitivity setting for this string matcher.
 

Detailed Description

\inmodule QtCore

The QStringMatcher class holds a sequence of characters that can be quickly matched in a Unicode string.

This class is useful when you have a sequence of \l{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.

See also
QString, QByteArrayMatcher, QRegularExpression

Definition at line 16 of file qstringmatcher.h.

Constructor & Destructor Documentation

◆ QStringMatcher() [1/5]

QStringMatcher::QStringMatcher ( )
default

Constructs an empty string matcher that won't match anything.

Call setPattern() to give it a pattern to match.

◆ QStringMatcher() [2/5]

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

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

Call indexIn() to perform a search.

Definition at line 156 of file qstringmatcher.cpp.

◆ QStringMatcher() [3/5]

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

Constructs a string matcher that will search for the pattern referred to by uc with the given length and case sensitivity specified by cs.

Definition at line 23 of file qstringmatcher.h.

◆ QStringMatcher() [4/5]

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

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

Call indexIn() to perform a search.

Definition at line 180 of file qstringmatcher.cpp.

◆ QStringMatcher() [5/5]

QStringMatcher::QStringMatcher ( const QStringMatcher & other)

Copies the other string matcher to this string matcher.

Definition at line 188 of file qstringmatcher.cpp.

References operator=(), and other().

+ Here is the call graph for this function:

◆ ~QStringMatcher()

QStringMatcher::~QStringMatcher ( )

Destroys the string matcher.

Definition at line 197 of file qstringmatcher.cpp.

References Q_UNUSED.

Member Function Documentation

◆ caseSensitivity()

Qt::CaseSensitivity QStringMatcher::caseSensitivity ( ) const
inline

Returns the case sensitivity setting for this string matcher.

See also
setCaseSensitivity()

Definition at line 46 of file qstringmatcher.h.

◆ indexIn() [1/3]

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

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(), setCaseSensitivity()

Definition at line 39 of file qstringmatcher.h.

References str.

◆ indexIn() [2/3]

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

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(), setCaseSensitivity()

Definition at line 37 of file qstringmatcher.h.

References str.

◆ indexIn() [3/3]

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

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(), setCaseSensitivity()

Definition at line 303 of file qstringmatcher.cpp.

References bm_find(), and str.

+ Here is the call graph for this function:

◆ operator=()

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

Assigns the other string matcher to this string matcher.

Definition at line 205 of file qstringmatcher.cpp.

References other().

Referenced by QStringMatcher().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ pattern()

QString QStringMatcher::pattern ( ) const

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

See also
setPattern()

Definition at line 238 of file qstringmatcher.cpp.

References QString::isEmpty(), and QStringView::toString().

Referenced by setPattern().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ patternView()

QStringView QStringMatcher::patternView ( ) const
inlinenoexcept
Since
6.7

Returns a string view of the pattern that this string matcher will search for.

See also
setPattern()

Definition at line 43 of file qstringmatcher.h.

◆ setCaseSensitivity()

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

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

See also
caseSensitivity(), setPattern(), indexIn()

Definition at line 260 of file qstringmatcher.cpp.

◆ setPattern()

void QStringMatcher::setPattern ( const QString & pattern)

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

See also
pattern(), setCaseSensitivity(), indexIn()

Definition at line 222 of file qstringmatcher.cpp.

References pattern().

+ Here is the call graph for this function:

The documentation for this class was generated from the following files: