diff options
Diffstat (limited to 'doc/global/snippets/code/doc_src_port_from_qregexp.cpp')
-rw-r--r-- | doc/global/snippets/code/doc_src_port_from_qregexp.cpp | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/doc/global/snippets/code/doc_src_port_from_qregexp.cpp b/doc/global/snippets/code/doc_src_port_from_qregexp.cpp new file mode 100644 index 0000000000..735425d086 --- /dev/null +++ b/doc/global/snippets/code/doc_src_port_from_qregexp.cpp @@ -0,0 +1,65 @@ +// Copyright (C) 2022 Giuseppe D'Angelo <dangelog@gmail.com>. +// Copyright (C) 2022 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +//! [0] +QString p("a .*|pattern"); + +// re matches exactly the pattern string p +QRegularExpression re(QRegularExpression::anchoredPattern(p)); +//! [0] + +//! [1] +QString subject("the quick fox"); + +int offset = 0; +QRegExp re("(\\w+)"); +while ((offset = re.indexIn(subject, offset)) != -1) { + offset += re.matchedLength(); + // ... +} +//! [1] + +//! [2] +QString subject("the quick fox"); + +QRegularExpression re("(\\w+)"); +QRegularExpressionMatchIterator i = re.globalMatch(subject); +while (i.hasNext()) { + QRegularExpressionMatch match = i.next(); + // ... +} +//! [2] + +//! [3] +QRegExp wildcard("*.txt"); +wildcard.setPatternSyntax(QRegExp::Wildcard); +//! [3] + +//! [4] +auto wildcard = QRegularExpression(QRegularExpression::wildcardToRegularExpression("*.txt")); +//! [4] + +//! [5] +const QString fp1("C:/Users/dummy/files/content.txt"); +const QString fp2("/home/dummy/files/content.txt"); + +QRegExp re1("*/files/*"); +re1.setPatternSyntax(QRegExp::Wildcard); +re1.exactMatch(fp1); // returns true +re1.exactMatch(fp2); // returns true + +// but converted with QRegularExpression::wildcardToRegularExpression() + +QRegularExpression re2(QRegularExpression::wildcardToRegularExpression("*/files/*")); +re2.match(fp1).hasMatch(); // returns false +re2.match(fp2).hasMatch(); // returns false +//! [5] + +//! [6] +QRegularExpression re3(QRegularExpression::wildcardToRegularExpression( + "*/files/*", QRegularExpression::UnanchoredWildcardConversion)); +re3.match(fp1).hasMatch(); // returns true +re3.match(fp2).hasMatch(); // returns true +//! [6] |