14 QRegularExpression re(
"a pattern");
20 QRegularExpression re;
21 re.setPattern(
"another pattern");
28 QRegularExpression re(
"\\d\\d \\w+");
31 QRegularExpression re2(
"\\\\");
37 QRegularExpression re(
"a third pattern");
38 QString pattern = re.pattern();
45 QRegularExpression re(
"Qt rocks", QRegularExpression::CaseInsensitiveOption);
51 QRegularExpression re(
"^\\d+$");
52 re.setPatternOptions(QRegularExpression::MultilineOption);
59 QRegularExpression re = QRegularExpression(
"^two.*words$", QRegularExpression::MultilineOption
60 | QRegularExpression::DotMatchesEverythingOption);
62 QRegularExpression::PatternOptions options = re.patternOptions();
70 QRegularExpression re(
"\\d\\d \\w+");
71 QRegularExpressionMatch match = re.match(
"abc123 def");
72 bool hasMatch = match.hasMatch();
78 QRegularExpression re(
"\\d\\d \\w+");
79 QRegularExpressionMatch match = re.match(
"abc123 def");
80 if (match.hasMatch()) {
81 QString matched = match.captured(0);
89 QRegularExpression re(
"\\d\\d \\w+");
90 QRegularExpressionMatch match = re.match(
"12 abc 45 def", 1);
91 if (match.hasMatch()) {
92 QString matched = match.captured(0);
100 QRegularExpression re(
"^(\\d\\d)/(\\d\\d)/(\\d\\d\\d\\d)$");
101 QRegularExpressionMatch match = re.match(
"08/12/1985");
102 if (match.hasMatch()) {
103 QString day = match.captured(1);
104 QString month = match.captured(2);
105 QString year = match.captured(3);
113 QRegularExpression re(
"abc(\\d+)def");
114 QRegularExpressionMatch match = re.match(
"XYZabc123defXYZ");
115 if (match.hasMatch()) {
116 int startOffset = match.capturedStart(1);
117 int endOffset = match.capturedEnd(1);
125 QRegularExpression re(
"^(?<date>\\d\\d)/(?<month>\\d\\d)/(?<year>\\d\\d\\d\\d)$");
126 QRegularExpressionMatch match = re.match(
"08/12/1985");
127 if (match.hasMatch()) {
128 QString date = match.captured(
"date");
129 QString month = match.captured(
"month");
130 QString year = match.captured(
"year");
137 QRegularExpression re(
"(\\w+)");
138 QRegularExpressionMatchIterator i = re.globalMatch(
"the quick fox");
143 while (i.hasNext()) {
144 QRegularExpressionMatch match = i.next();
145 QString word = match.captured(1);
154 QString pattern(
"^(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d\\d?, \\d\\d\\d\\d$");
155 QRegularExpression re(pattern);
157 QString input(
"Jan 21,");
158 QRegularExpressionMatch match = re.match(input, 0, QRegularExpression::PartialPreferCompleteMatch);
159 bool hasMatch = match.hasMatch();
160 bool hasPartialMatch = match.hasPartialMatch();
165 QString pattern(
"^(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d\\d?, \\d\\d\\d\\d$");
166 QRegularExpression re(pattern);
168 QString input(
"Dec 8, 1985");
169 QRegularExpressionMatch match = re.match(input, 0, QRegularExpression::PartialPreferCompleteMatch);
170 bool hasMatch = match.hasMatch();
171 bool hasPartialMatch = match.hasPartialMatch();
177 QRegularExpression re(
"abc\\w+X|def");
178 QRegularExpressionMatch match = re.match(
"abcdef", 0, QRegularExpression::PartialPreferCompleteMatch);
179 bool hasMatch = match.hasMatch();
180 bool hasPartialMatch = match.hasPartialMatch();
181 QString captured = match.captured(0);
187 QRegularExpression re(
"abc\\w+X|defY");
188 QRegularExpressionMatch match = re.match(
"abcdef", 0, QRegularExpression::PartialPreferCompleteMatch);
189 bool hasMatch = match.hasMatch();
190 bool hasPartialMatch = match.hasPartialMatch();
191 QString captured = match.captured(0);
197 QRegularExpression re(
"abc|ab");
198 QRegularExpressionMatch match = re.match(
"ab", 0, QRegularExpression::PartialPreferFirstMatch);
199 bool hasMatch = match.hasMatch();
200 bool hasPartialMatch = match.hasPartialMatch();
206 QRegularExpression re(
"abc(def)?");
207 QRegularExpressionMatch match = re.match(
"abc", 0, QRegularExpression::PartialPreferFirstMatch);
208 bool hasMatch = match.hasMatch();
209 bool hasPartialMatch = match.hasPartialMatch();
215 QRegularExpression re(
"(abc)*");
216 QRegularExpressionMatch match = re.match(
"abc", 0, QRegularExpression::PartialPreferFirstMatch);
217 bool hasMatch = match.hasMatch();
218 bool hasPartialMatch = match.hasPartialMatch();
224 QRegularExpression invalidRe(
"(unmatched|parenthesis");
225 bool isValid = invalidRe.isValid();
231 QRegularExpression invalidRe(
"(unmatched|parenthesis");
232 if (!invalidRe.isValid()) {
233 QString errorString = invalidRe.errorString();
234 int errorOffset = invalidRe.patternErrorOffset();
242 QString escaped = QRegularExpression::escape(
"a(x) = f(x) + g(x)");
251 QString pattern =
"(" + QRegularExpression::escape(name) +
252 "|" + QRegularExpression::escape(nickname) +
")";
253 QRegularExpression re(pattern);
259 QRegularExpression re;
261 QRegularExpressionMatch match = re.match(string);
262 for (
int i = 0; i <= match.lastCapturedIndex(); ++i) {
263 QString captured = match.captured(i);
271 QRegularExpression re(
"(\\d\\d) (?<name>\\w+)");
272 QRegularExpressionMatch match = re.match(
"23 Jordan");
273 if (match.hasMatch()) {
274 QString number = match.captured(1);
275 QString name = match.captured(
"name");
283 QRegularExpression re(
"(\\w+)");
284 QString subject(
"the quick fox");
285 QRegularExpressionMatchIterator i = re.globalMatch(subject);
286 while (i.hasNext()) {
287 QRegularExpressionMatch match = i.next();
295 QString wildcard = QRegularExpression::wildcardToRegularExpression(
"*.jpeg");
305 (?<day>\d\d)-(?<month>\d\d)-(?<year>\d\d\d\d) (\w+) (?<name>\w+)
309 (
"",
"day",
"month",
"year",
"",
"name")
317 QRegularExpression re(R"(\w+)");
318 QString subject(
"the quick fox");
319 for (
const QRegularExpressionMatch &match : re.globalMatch(subject)) {
328 QRegularExpression re(R"(\d\d \w+)");
334 QRegularExpression re(
"([a-z]+)|([A-Z]+)");
335 QRegularExpressionMatch m = re.match(
"UPPERCASE");
337 qDebug() << m.hasCaptured(0);
338 qDebug() << m.hasCaptured(1);
339 qDebug() << m.hasCaptured(2);