QRegularExpression: various documentation improvements/fixes
Change-Id: I683afb24f888ab6cf3c543fba8cd193a730709af Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
This commit is contained in:
parent
d4959fa637
commit
9b0f381f2a
@ -135,7 +135,7 @@ QT_BEGIN_NAMESPACE
|
|||||||
|
|
||||||
\snippet doc/src/snippets/code/src_corelib_tools_qregularexpression.cpp 2
|
\snippet doc/src/snippets/code/src_corelib_tools_qregularexpression.cpp 2
|
||||||
|
|
||||||
The pattern() function returns the pattern that it's currently set for a
|
The pattern() function returns the pattern that is currently set for a
|
||||||
QRegularExpression object:
|
QRegularExpression object:
|
||||||
|
|
||||||
\snippet doc/src/snippets/code/src_corelib_tools_qregularexpression.cpp 3
|
\snippet doc/src/snippets/code/src_corelib_tools_qregularexpression.cpp 3
|
||||||
@ -342,9 +342,9 @@ QT_BEGIN_NAMESPACE
|
|||||||
string; however, the subpattern \c{def} matches the subject string
|
string; however, the subpattern \c{def} matches the subject string
|
||||||
completely, and therefore a complete match is reported.
|
completely, and therefore a complete match is reported.
|
||||||
|
|
||||||
In case multiple partial matches are found when matching (but no complete
|
If multiple partial matches are found when matching (but no complete
|
||||||
match), then the QRegularExpressionMatch will report the first one that it
|
match), then the QRegularExpressionMatch object will report the first one
|
||||||
is found. For instance:
|
that is found. For instance:
|
||||||
|
|
||||||
\snippet doc/src/snippets/code/src_corelib_tools_qregularexpression.cpp 18
|
\snippet doc/src/snippets/code/src_corelib_tools_qregularexpression.cpp 18
|
||||||
|
|
||||||
@ -440,7 +440,7 @@ QT_BEGIN_NAMESPACE
|
|||||||
|
|
||||||
\section2 Exact matching
|
\section2 Exact matching
|
||||||
|
|
||||||
QRegExp::exactMatch in Qt 4 served for two purposes: it exactly matched
|
QRegExp::exactMatch() in Qt 4 served two purposes: it exactly matched
|
||||||
a regular expression against a subject string, and it implemented partial
|
a regular expression against a subject string, and it implemented partial
|
||||||
matching. In fact, if an exact match was not found, one could still find
|
matching. In fact, if an exact match was not found, one could still find
|
||||||
out how much of the subject string was matched by the regular expression
|
out how much of the subject string was matched by the regular expression
|
||||||
@ -478,9 +478,20 @@ QT_BEGIN_NAMESPACE
|
|||||||
matching correctly (that is, like Perl does). In particular, patterns that
|
matching correctly (that is, like Perl does). In particular, patterns that
|
||||||
can match 0 characters (like \c{"a*"}) are problematic.
|
can match 0 characters (like \c{"a*"}) are problematic.
|
||||||
|
|
||||||
QRegularExpression::globalMatch implements Perl global match correctly, and
|
QRegularExpression::globalMatch() implements Perl global match correctly, and
|
||||||
the returned iterator can be used to examine each result.
|
the returned iterator can be used to examine each result.
|
||||||
|
|
||||||
|
\section2 Unicode properties support
|
||||||
|
|
||||||
|
When using QRegExp, character classes such as \c{\w}, \c{\d}, etc. match
|
||||||
|
characters with the corresponding Unicode property: for instance, \c{\d}
|
||||||
|
matches any character with the Unicode Nd (decimal digit) property.
|
||||||
|
|
||||||
|
Those character classes only match ASCII characters by default when using
|
||||||
|
QRegularExpression: for instance, \c{\d} matches exactly a character in the
|
||||||
|
\c{0-9} ASCII range. It is possible to change this behaviour by using the
|
||||||
|
UseUnicodePropertiesOption pattern option.
|
||||||
|
|
||||||
\section2 Wildcard matching
|
\section2 Wildcard matching
|
||||||
|
|
||||||
There is no equivalent of wildcard matching in QRegularExpression.
|
There is no equivalent of wildcard matching in QRegularExpression.
|
||||||
@ -494,11 +505,11 @@ QT_BEGIN_NAMESPACE
|
|||||||
|
|
||||||
\section2 Minimal matching
|
\section2 Minimal matching
|
||||||
|
|
||||||
QRegExp::setMinimal implemented minimal matching by simply reversing the
|
QRegExp::setMinimal() implemented minimal matching by simply reversing the
|
||||||
greediness of the quantifiers (QRegExp did not support lazy quantifiers,
|
greediness of the quantifiers (QRegExp did not support lazy quantifiers,
|
||||||
like \c{*?}, \c{+?}, etc.). QRegularExpression instead does support greedy,
|
like \c{*?}, \c{+?}, etc.). QRegularExpression instead does support greedy,
|
||||||
lazy and possessive quantifiers. The InvertedGreedinessOption
|
lazy and possessive quantifiers. The InvertedGreedinessOption
|
||||||
pattern option can be useful to emulate the effects of QRegExp::setMinimal:
|
pattern option can be useful to emulate the effects of QRegExp::setMinimal():
|
||||||
if enabled, it inverts the greediness of quantifiers (greedy ones become
|
if enabled, it inverts the greediness of quantifiers (greedy ones become
|
||||||
lazy and vice versa).
|
lazy and vice versa).
|
||||||
|
|
||||||
@ -675,7 +686,7 @@ QT_BEGIN_NAMESPACE
|
|||||||
equivalent for this option in Perl regular expressions.
|
equivalent for this option in Perl regular expressions.
|
||||||
|
|
||||||
\value UseUnicodePropertiesOption
|
\value UseUnicodePropertiesOption
|
||||||
The meaning of the \c{\w}, \c{\d}, etc., character types, as well as
|
The meaning of the \c{\w}, \c{\d}, etc., character classes, as well as
|
||||||
the meaning of their counterparts (\c{\W}, \c{\D}, etc.), is changed
|
the meaning of their counterparts (\c{\W}, \c{\D}, etc.), is changed
|
||||||
from matching ASCII charaters only to matching any character with the
|
from matching ASCII charaters only to matching any character with the
|
||||||
corresponding Unicode property. For instance, \c{\d} is changed to
|
corresponding Unicode property. For instance, \c{\d} is changed to
|
||||||
@ -1004,12 +1015,18 @@ class QPcreJitStackPointer
|
|||||||
Q_DISABLE_COPY(QPcreJitStackPointer);
|
Q_DISABLE_COPY(QPcreJitStackPointer);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
/*!
|
||||||
|
\internal
|
||||||
|
*/
|
||||||
QPcreJitStackPointer()
|
QPcreJitStackPointer()
|
||||||
{
|
{
|
||||||
// The default JIT stack size in PCRE is 32K,
|
// The default JIT stack size in PCRE is 32K,
|
||||||
// we allocate from 32K up to 512K.
|
// we allocate from 32K up to 512K.
|
||||||
stack = pcre16_jit_stack_alloc(32*1024, 512*1024);
|
stack = pcre16_jit_stack_alloc(32*1024, 512*1024);
|
||||||
}
|
}
|
||||||
|
/*!
|
||||||
|
\internal
|
||||||
|
*/
|
||||||
~QPcreJitStackPointer()
|
~QPcreJitStackPointer()
|
||||||
{
|
{
|
||||||
if (stack)
|
if (stack)
|
||||||
@ -1572,8 +1589,8 @@ bool QRegularExpression::operator==(const QRegularExpression &re) const
|
|||||||
a backslash all characters in \a str, except for the characters in the
|
a backslash all characters in \a str, except for the characters in the
|
||||||
\c{[A-Z]}, \c{[a-z]} and \c{[0-9]} ranges, as well as the underscore
|
\c{[A-Z]}, \c{[a-z]} and \c{[0-9]} ranges, as well as the underscore
|
||||||
(\c{_}) character. The only difference with Perl is that a literal NUL
|
(\c{_}) character. The only difference with Perl is that a literal NUL
|
||||||
inside \a str is escaped with the sequence \c{"\\\\0"} (backslash +
|
inside \a str is escaped with the sequence \c{"\\0"} (backslash +
|
||||||
\c{'0'}), instead of \c{"\\\\\\0"} (backslash + \c{NUL}).
|
\c{'0'}), instead of \c{"\\\0"} (backslash + \c{NUL}).
|
||||||
*/
|
*/
|
||||||
QString QRegularExpression::escape(const QString &str)
|
QString QRegularExpression::escape(const QString &str)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user