mirror of
https://github.com/crystalidea/qt6windows7.git
synced 2025-07-04 16:25:27 +08:00
qt 6.5.1 original
This commit is contained in:
65
doc/global/snippets/code/doc_src_port_from_qregexp.cpp
Normal file
65
doc/global/snippets/code/doc_src_port_from_qregexp.cpp
Normal file
@ -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 GFDL-1.3-no-invariants-only
|
||||
|
||||
//! [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]
|
Reference in New Issue
Block a user