From cb1000ea02a42de0f79ff8db97219a9923d3efdf Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Tue, 31 Mar 2020 14:12:50 +0200 Subject: Add WildcardConversionOptions to QRegularExpression There are cases, where the conversion from a wildcard pattern to a regular expression should not lead to an anchored pattern. Allow this, but adding an optional second argument to wildcardToRegularExpression, that allows tuning the conversion. Change-Id: Ida7a32d65ee49bf58d5f8d9906c0a0cd8954a02a Reviewed-by: Alex Blasche --- src/corelib/text/qregularexpression.h | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'src/corelib/text/qregularexpression.h') diff --git a/src/corelib/text/qregularexpression.h b/src/corelib/text/qregularexpression.h index aa6c48bf54..cfb7f34d9d 100644 --- a/src/corelib/text/qregularexpression.h +++ b/src/corelib/text/qregularexpression.h @@ -138,15 +138,21 @@ public: void optimize() const; + enum WildcardConversionOption { + DefaultWildcardConversion = 0x0, + UnanchoredWildcardConversion = 0x1 + }; + Q_DECLARE_FLAGS(WildcardConversionOptions, WildcardConversionOption) + #if QT_STRINGVIEW_LEVEL < 2 static QString escape(const QString &str) { return escape(qToStringViewIgnoringNull(str)); } - static QString wildcardToRegularExpression(const QString &str) + static QString wildcardToRegularExpression(const QString &str, WildcardConversionOptions options = DefaultWildcardConversion) { - return wildcardToRegularExpression(qToStringViewIgnoringNull(str)); + return wildcardToRegularExpression(qToStringViewIgnoringNull(str), options); } static inline QString anchoredPattern(const QString &expression) @@ -156,7 +162,7 @@ public: #endif static QString escape(QStringView str); - static QString wildcardToRegularExpression(QStringView str); + static QString wildcardToRegularExpression(QStringView str, WildcardConversionOptions options = DefaultWildcardConversion); static QString anchoredPattern(QStringView expression); bool operator==(const QRegularExpression &re) const; -- cgit v1.2.3