QRegularExpressionMatchIterator. They aim to replace QRegExp with a more
powerful and flexible regular expression engine.
+* Certain methods in QRegExp that modified the object's internals are no longer marked
+ const. They were accidentally marked const in Qt 4 but the problem could not be
+ fixed. The following are suggestions to adapt code to this change:
+ - make sure the QRegExp object is not const in the given context
+ - create a copy of the QRegExp object before using it
+ - invert the operation and use QString. E.g., rx.indexIn(string) becomes string.indexOf(rx)
+
* QEvent::AccessibilityPrepare, AccessibilityHelp and AccessibilityDescription removed:
* The enum values simply didn't make sense in the first place and should simply be dropped.
priv->minimal = minimal;
}
-// ### Qt 5: make non-const
/*!
Returns true if \a str is matched exactly by this regular
expression; otherwise returns false. You can determine how much of
bluebell, \c blutak and \c lightblue, exactMatch() returns false
and matchedLength() will return 4, 3 and 0 respectively.
- Although const, this function sets matchedLength(),
- capturedTexts(), and pos().
-
\sa indexIn(), lastIndexIn()
*/
-bool QRegExp::exactMatch(const QString &str) const
+bool QRegExp::exactMatch(const QString &str)
{
prepareEngineForMatch(priv, str);
priv->matchState.match(str.unicode(), str.length(), 0, priv->minimal, true, 0);
}
}
-// ### Qt 5: make non-const
/*!
Attempts to find a match in \a str from position \a offset (0 by
default). If \a offset is -1, the search starts at the last
Example:
\snippet code/src_corelib_tools_qregexp.cpp 13
- Although const, this function sets matchedLength(),
- capturedTexts() and pos().
-
If the QRegExp is a wildcard expression (see setPatternSyntax())
and want to test a string against the whole wildcard expression,
use exactMatch() instead of this function.
\sa lastIndexIn(), exactMatch()
*/
-int QRegExp::indexIn(const QString &str, int offset, CaretMode caretMode) const
+int QRegExp::indexIn(const QString &str, int offset, CaretMode caretMode)
{
prepareEngineForMatch(priv, str);
if (offset < 0)
return priv->matchState.captured[0];
}
-// ### Qt 5: make non-const
/*!
Attempts to find a match backwards in \a str from position \a
offset. If \a offset is -1 (the default), the search starts at the
The \a caretMode parameter can be used to instruct whether \b{^}
should match at index 0 or at \a offset.
- Although const, this function sets matchedLength(),
- capturedTexts() and pos().
-
\warning Searching backwards is much slower than searching
forwards.
\sa indexIn(), exactMatch()
*/
-int QRegExp::lastIndexIn(const QString &str, int offset, CaretMode caretMode) const
+int QRegExp::lastIndexIn(const QString &str, int offset, CaretMode caretMode)
{
prepareEngineForMatch(priv, str);
if (offset < 0)
bool isMinimal() const;
void setMinimal(bool minimal);
- bool exactMatch(const QString &str) const;
+ bool exactMatch(const QString &str);
- int indexIn(const QString &str, int offset = 0, CaretMode caretMode = CaretAtZero) const;
- int lastIndexIn(const QString &str, int offset = -1, CaretMode caretMode = CaretAtZero) const;
+ int indexIn(const QString &str, int offset = 0, CaretMode caretMode = CaretAtZero);
+ int lastIndexIn(const QString &str, int offset = -1, CaretMode caretMode = CaretAtZero);
int matchedLength() const;
#ifndef QT_NO_REGEXP_CAPTURE
int captureCount() const;