Improve / fix QRegularExpression* docs
authorGiuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Wed, 24 Oct 2012 15:46:58 +0000 (17:46 +0200)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Thu, 1 Nov 2012 21:32:24 +0000 (22:32 +0100)
Fixed a couple of typos; also, wrapped the snippets in a main() function,
so that now the snippet file can be compiled
(and therefore the compiler can help us at detecting those typos).

Change-Id: Ie182a9c4cb451db13a6f4bfa5eaed66bc6966c8f
Reviewed-by: Topi Reiniƶ <topi.reinio@digia.com>
Reviewed-by: Casper van Donderen <casper.vandonderen@gmail.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
src/corelib/doc/snippets/code/src_corelib_tools_qregularexpression.cpp

index 6538c71..f1479a8 100644 (file)
 **
 ****************************************************************************/
 
+#include <QString>
+#include <QStringList>
+#include <QRegularExpression>
+#include <QRegularExpressionMatch>
+#include <QRegularExpressionMatchIterator>
+
+int main() {
+
+{
 //! [0]
 QRegularExpression re("a pattern");
 //! [0]
+}
 
-
+{
 //! [1]
 QRegularExpression re;
 re.setPattern("another pattern");
 //! [1]
+}
 
-
+{
 //! [2]
 // matches two digits followed by a space and a word
 QRegularExpression re("\\d\\d \\w+");
@@ -56,27 +67,31 @@ QRegularExpression re("\\d\\d \\w+");
 // matches a backslash
 QRegularExpression re2("\\\\");
 //! [2]
+}
 
-
+{
 //! [3]
 QRegularExpression re("a third pattern");
 QString pattern = re.pattern(); // pattern == "a third pattern"
 //! [3]
+}
 
-
+{
 //! [4]
 // matches "Qt rocks", but also "QT rocks", "QT ROCKS", "qT rOcKs", etc.
 QRegularExpression re("Qt rocks", QRegularExpression::CaseInsensitiveOption);
 //! [4]
+}
 
-
+{
 //! [5]
 QRegularExpression re("^\\d+$");
 re.setPatternOptions(QRegularExpression::MultilineOption);
 // re matches any line in the subject string that contains only digits (but at least one)
 //! [5]
+}
 
-
+{
 //! [6]
 QRegularExpression re = QRegularExpression("^two.*words$", QRegularExpression::MultilineOption
                                                            | QRegularExpression::DotMatchesEverythingOption);
@@ -84,16 +99,18 @@ QRegularExpression re = QRegularExpression("^two.*words$", QRegularExpression::M
 QRegularExpression::PatternOptions options = re.patternOptions();
 // options == QRegularExpression::MultilineOption | QRegularExpression::DotMatchesEverythingOption
 //! [6]
+}
 
-
+{
 //! [7]
 // match two digits followed by a space and a word
 QRegularExpression re("\\d\\d \\w+");
 QRegularExpressionMatch match = re.match("abc123 def");
 bool hasMatch = match.hasMatch(); // true
 //! [7]
+}
 
-
+{
 //! [8]
 QRegularExpression re("\\d\\d \\w+");
 QRegularExpressionMatch match = re.match("abc123 def");
@@ -102,8 +119,9 @@ if (match.hasMatch()) {
     // ...
 }
 //! [8]
+}
 
-
+{
 //! [9]
 QRegularExpression re("\\d\\d \\w+");
 QRegularExpressionMatch match = re.match("12 abc 45 def", 1);
@@ -112,31 +130,34 @@ if (match.hasMatch()) {
     // ...
 }
 //! [9]
+}
 
-
+{
 //! [10]
 QRegularExpression re("^(\\d\\d)/(\\d\\d)/(\\d\\d\\d\\d)$");
 QRegularExpressionMatch match = re.match("08/12/1985");
 if (match.hasMatch()) {
-    QString day = re.captured(1); // day == "08"
-    QString month = re.captured(2); // month == "12"
-    QString year = re.captured(3); // year == "1985"
+    QString day = match.captured(1); // day == "08"
+    QString month = match.captured(2); // month == "12"
+    QString year = match.captured(3); // year == "1985"
     // ...
 }
 //! [10]
+}
 
-
+{
 //! [11]
 QRegularExpression re("abc(\\d+)def");
 QRegularExpressionMatch match = re.match("XYZabc123defXYZ");
 if (match.hasMatch()) {
-    int startOffset = re.capturedStart(1); // startOffset == 6
-    int endOffset = re.capturedEnd(1); // endOffset == 9
+    int startOffset = match.capturedStart(1); // startOffset == 6
+    int endOffset = match.capturedEnd(1); // endOffset == 9
     // ...
 }
 //! [11]
+}
 
-
+{
 //! [12]
 QRegularExpression re("^(?<date>\\d\\d)/(?<month>\\d\\d)/(?<year>\\d\\d\\d\\d)$");
 QRegularExpressionMatch match = re.match("08/12/1985");
@@ -146,14 +167,14 @@ if (match.hasMatch()) {
     QString year = match.captured("year"); // year == 1985
 }
 //! [12]
+}
 
-
+{
 //! [13]
 QRegularExpression re("(\\w+)");
 QRegularExpressionMatchIterator i = re.globalMatch("the quick fox");
 //! [13]
 
-
 //! [14]
 QStringList words;
 while (i.hasNext()) {
@@ -163,72 +184,86 @@ while (i.hasNext()) {
 }
 // words contains "the", "quick", "fox"
 //! [14]
+}
 
-
+{
 //! [15]
 QString pattern("^(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d\\d?, \\d\\d\\d\\d$");
 QRegularExpression re(pattern);
 
 QString input("Jan 21,");
-QRegularExpressionMatch match = re.match(input, 0, QRegularExpressionMatch::PartialPreferCompleteMatch);
+QRegularExpressionMatch match = re.match(input, 0, QRegularExpression::PartialPreferCompleteMatch);
 bool hasMatch = match.hasMatch(); // false
 bool hasPartialMatch = match.hasPartialMatch(); // true
 //! [15]
+}
 
-
+{
+QString pattern("^(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d\\d?, \\d\\d\\d\\d$");
+QRegularExpression re(pattern);
 //! [16]
 QString input("Dec 8, 1985");
-QRegularExpressionMatch match = re.match(input, 0, QRegularExpressionMatch::PartialPreferCompleteMatch);
+QRegularExpressionMatch match = re.match(input, 0, QRegularExpression::PartialPreferCompleteMatch);
 bool hasMatch = match.hasMatch(); // true
 bool hasPartialMatch = match.hasPartialMatch(); // false
 //! [16]
+}
 
-
+{
 //! [17]
 QRegularExpression re("abc\\w+X|def");
-QRegularExpressionMatch match = re.match("abcdef", 0, QRegularExpressionMatch::PartialPreferCompleteMatch);
+QRegularExpressionMatch match = re.match("abcdef", 0, QRegularExpression::PartialPreferCompleteMatch);
 bool hasMatch = match.hasMatch(); // true
 bool hasPartialMatch = match.hasPartialMatch(); // false
 QString captured = match.captured(0); // captured == "def"
 //! [17]
+}
 
-
+{
 //! [18]
 QRegularExpression re("abc\\w+X|defY");
-QRegularExpressionMatch match = re.match("abcdef", 0, QRegularExpressionMatch::PartialPreferCompleteMatch);
+QRegularExpressionMatch match = re.match("abcdef", 0, QRegularExpression::PartialPreferCompleteMatch);
 bool hasMatch = match.hasMatch(); // false
 bool hasPartialMatch = match.hasPartialMatch(); // true
 QString captured = match.captured(0); // captured == "abcdef"
 //! [18]
+}
 
-
+{
 //! [19]
 QRegularExpression re("abc|ab");
-QRegularExpressionMatch match = re.match("ab", 0, QRegularExpressionMatch::PartialPreferFirstMatch);
+QRegularExpressionMatch match = re.match("ab", 0, QRegularExpression::PartialPreferFirstMatch);
 bool hasMatch = match.hasMatch(); // false
 bool hasPartialMatch = match.hasPartialMatch(); // true
 //! [19]
+}
 
-
+{
 //! [20]
 QRegularExpression re("abc(def)?");
-QRegularExpressionMatch match = re.match("abc", 0, QRegularExpressionMatch::PartialPreferFirstMatch);
+QRegularExpressionMatch match = re.match("abc", 0, QRegularExpression::PartialPreferFirstMatch);
 bool hasMatch = match.hasMatch(); // false
 bool hasPartialMatch = match.hasPartialMatch(); // true
 //! [20]
+}
 
+{
 //! [21]
 QRegularExpression re("(abc)*");
-QRegularExpressionMatch match = re.match("abc", 0, QRegularExpressionMatch::PartialPreferFirstMatch);
+QRegularExpressionMatch match = re.match("abc", 0, QRegularExpression::PartialPreferFirstMatch);
 bool hasMatch = match.hasMatch(); // false
 bool hasPartialMatch = match.hasPartialMatch(); // true
 //! [21]
+}
 
+{
 //! [22]
 QRegularExpression invalidRe("(unmatched|parenthesis");
 bool isValid = invalidRe.isValid(); // false
 //! [22]
+}
 
+{
 //! [23]
 QRegularExpression invalidRe("(unmatched|parenthesis");
 if (!invalidRe.isValid()) {
@@ -237,44 +272,62 @@ if (!invalidRe.isValid()) {
     // ...
 }
 //! [23]
+}
 
+{
 //! [24]
 QRegularExpression re("^this pattern must match exactly$");
 //! [24]
+}
 
+{
 //! [25]
 QString p("a .*|pattern");
 QRegularExpression re("\\A(?:" + p + ")\\z"); // re matches exactly the pattern string p
 //! [25]
+}
 
+{
 //! [26]
 QString escaped = QRegularExpression::escape("a(x) = f(x) + g(x)");
 // escaped == "a\\(x\\)\\ \\=\\ f\\(x\\)\\ \\+\\ g\\(x\\)"
 //! [26]
+}
 
+{
+QString name;
+QString nickname;
 //! [27]
 QString pattern = "(" + QRegularExpression::escape(name) +
                   "|" + QRegularExpression::escape(nickname) + ")";
 QRegularExpression re(pattern);
 //! [27]
+}
 
+{
+QString string;
+QRegularExpression re;
 //! [28]
-QRegularExpressionMatch match = re.match(...);
+QRegularExpressionMatch match = re.match(string);
 for (int i = 0; i <= match.lastCapturedIndex(); ++i) {
     QString captured = match.captured(i);
     // ...
 }
 //! [28]
+}
 
+{
 //! [29]
-QRegularExpression("(\\d\\d) (?<name>\\w+)");
+QRegularExpression re("(\\d\\d) (?<name>\\w+)");
 QRegularExpressionMatch match = re.match("23 Jordan");
 if (match.hasMatch()) {
     QString number = match.captured(1); // first == "23"
     QString name = match.captured("name"); // name == "Jordan"
 }
 //! [29]
+}
 
+{
 //! [30]
 // extracts the words
 QRegularExpression re("(\\w+)");
@@ -285,5 +338,6 @@ while (i.hasNext()) {
     // ...
 }
 //! [30]
+}
 
-
+}