summaryrefslogtreecommitdiffstats
path: root/doc/global/snippets/code/doc_src_port_from_qregexp.cpp
diff options
context:
space:
mode:
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.cpp65
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]