blob: 7f56a758d3c6e5ab2a6dfbe55fdedeea5a4fe1b6 [file] [log] [blame]
Chih-Hung Hsiehe42c5052020-04-16 10:44:21 -07001// DO NOT EDIT. Automatically generated by 'scripts/regex-match-tests.py'
2// on 2019-09-02 11:07:37.849994.
3
4// Tests from basic.dat
5mat!(match_basic_3, r"abracadabra$", r"abracadabracadabra", Some((7, 18)));
6mat!(match_basic_4, r"a...b", r"abababbb", Some((2, 7)));
7mat!(match_basic_5, r"XXXXXX", r"..XXXXXX", Some((2, 8)));
8mat!(match_basic_6, r"\)", r"()", Some((1, 2)));
9mat!(match_basic_7, r"a]", r"a]a", Some((0, 2)));
10mat!(match_basic_9, r"\}", r"}", Some((0, 1)));
11mat!(match_basic_10, r"\]", r"]", Some((0, 1)));
12mat!(match_basic_12, r"]", r"]", Some((0, 1)));
13mat!(match_basic_15, r"^a", r"ax", Some((0, 1)));
14mat!(match_basic_16, r"\^a", r"a^a", Some((1, 3)));
15mat!(match_basic_17, r"a\^", r"a^", Some((0, 2)));
16mat!(match_basic_18, r"a$", r"aa", Some((1, 2)));
17mat!(match_basic_19, r"a\$", r"a$", Some((0, 2)));
18mat!(match_basic_20, r"^$", r"", Some((0, 0)));
19mat!(match_basic_21, r"$^", r"", Some((0, 0)));
20mat!(match_basic_22, r"a($)", r"aa", Some((1, 2)), Some((2, 2)));
21mat!(match_basic_23, r"a*(^a)", r"aa", Some((0, 1)), Some((0, 1)));
22mat!(match_basic_24, r"(..)*(...)*", r"a", Some((0, 0)));
23mat!(match_basic_25, r"(..)*(...)*", r"abcd", Some((0, 4)), Some((2, 4)));
24mat!(
25 match_basic_26,
26 r"(ab|a)(bc|c)",
27 r"abc",
28 Some((0, 3)),
29 Some((0, 2)),
30 Some((2, 3))
31);
32mat!(match_basic_27, r"(ab)c|abc", r"abc", Some((0, 3)), Some((0, 2)));
33mat!(match_basic_28, r"a{0}b", r"ab", Some((1, 2)));
34mat!(
35 match_basic_29,
36 r"(a*)(b?)(b+)b{3}",
37 r"aaabbbbbbb",
38 Some((0, 10)),
39 Some((0, 3)),
40 Some((3, 4)),
41 Some((4, 7))
42);
43mat!(
44 match_basic_30,
45 r"(a*)(b{0,1})(b{1,})b{3}",
46 r"aaabbbbbbb",
47 Some((0, 10)),
48 Some((0, 3)),
49 Some((3, 4)),
50 Some((4, 7))
51);
52mat!(
53 match_basic_32,
54 r"((a|a)|a)",
55 r"a",
56 Some((0, 1)),
57 Some((0, 1)),
58 Some((0, 1))
59);
60mat!(
61 match_basic_33,
62 r"(a*)(a|aa)",
63 r"aaaa",
64 Some((0, 4)),
65 Some((0, 3)),
66 Some((3, 4))
67);
68mat!(match_basic_34, r"a*(a.|aa)", r"aaaa", Some((0, 4)), Some((2, 4)));
69mat!(
70 match_basic_35,
71 r"a(b)|c(d)|a(e)f",
72 r"aef",
73 Some((0, 3)),
74 None,
75 None,
76 Some((1, 2))
77);
78mat!(match_basic_36, r"(a|b)?.*", r"b", Some((0, 1)), Some((0, 1)));
79mat!(match_basic_37, r"(a|b)c|a(b|c)", r"ac", Some((0, 2)), Some((0, 1)));
80mat!(
81 match_basic_38,
82 r"(a|b)c|a(b|c)",
83 r"ab",
84 Some((0, 2)),
85 None,
86 Some((1, 2))
87);
88mat!(match_basic_39, r"(a|b)*c|(a|ab)*c", r"abc", Some((0, 3)), Some((1, 2)));
89mat!(match_basic_40, r"(a|b)*c|(a|ab)*c", r"xc", Some((1, 2)));
90mat!(
91 match_basic_41,
92 r"(.a|.b).*|.*(.a|.b)",
93 r"xa",
94 Some((0, 2)),
95 Some((0, 2))
96);
97mat!(match_basic_42, r"a?(ab|ba)ab", r"abab", Some((0, 4)), Some((0, 2)));
98mat!(match_basic_43, r"a?(ac{0}b|ba)ab", r"abab", Some((0, 4)), Some((0, 2)));
99mat!(match_basic_44, r"ab|abab", r"abbabab", Some((0, 2)));
100mat!(match_basic_45, r"aba|bab|bba", r"baaabbbaba", Some((5, 8)));
101mat!(match_basic_46, r"aba|bab", r"baaabbbaba", Some((6, 9)));
102mat!(
103 match_basic_47,
104 r"(aa|aaa)*|(a|aaaaa)",
105 r"aa",
106 Some((0, 2)),
107 Some((0, 2))
108);
109mat!(
110 match_basic_48,
111 r"(a.|.a.)*|(a|.a...)",
112 r"aa",
113 Some((0, 2)),
114 Some((0, 2))
115);
116mat!(match_basic_49, r"ab|a", r"xabc", Some((1, 3)));
117mat!(match_basic_50, r"ab|a", r"xxabc", Some((2, 4)));
118mat!(
119 match_basic_51,
120 r"(?i)(?-u)(Ab|cD)*",
121 r"aBcD",
122 Some((0, 4)),
123 Some((2, 4))
124);
125mat!(match_basic_52, r"[^-]", r"--a", Some((2, 3)));
126mat!(match_basic_53, r"[a-]*", r"--a", Some((0, 3)));
127mat!(match_basic_54, r"[a-m-]*", r"--amoma--", Some((0, 4)));
128mat!(
129 match_basic_55,
130 r":::1:::0:|:::1:1:0:",
131 r":::0:::1:::1:::0:",
132 Some((8, 17))
133);
134mat!(
135 match_basic_56,
136 r":::1:::0:|:::1:1:1:",
137 r":::0:::1:::1:::0:",
138 Some((8, 17))
139);
140mat!(match_basic_57, r"[[:upper:]]", r"A", Some((0, 1)));
141mat!(match_basic_58, r"[[:lower:]]+", r"`az{", Some((1, 3)));
142mat!(match_basic_59, r"[[:upper:]]+", r"@AZ[", Some((1, 3)));
143mat!(
144 match_basic_65,
145 r"
146",
147 r"
148",
149 Some((0, 1))
150);
151mat!(
152 match_basic_66,
153 r"
154",
155 r"
156",
157 Some((0, 1))
158);
159mat!(
160 match_basic_67,
161 r"[^a]",
162 r"
163",
164 Some((0, 1))
165);
166mat!(
167 match_basic_68,
168 r"
169a",
170 r"
171a",
172 Some((0, 2))
173);
174mat!(
175 match_basic_69,
176 r"(a)(b)(c)",
177 r"abc",
178 Some((0, 3)),
179 Some((0, 1)),
180 Some((1, 2)),
181 Some((2, 3))
182);
183mat!(match_basic_70, r"xxx", r"xxx", Some((0, 3)));
184mat!(
185 match_basic_71,
186 r"(^|[ (,;])((([Ff]eb[^ ]* *|0*2/|\* */?)0*[6-7]))([^0-9]|$)",
187 r"feb 6,",
188 Some((0, 6))
189);
190mat!(
191 match_basic_72,
192 r"(^|[ (,;])((([Ff]eb[^ ]* *|0*2/|\* */?)0*[6-7]))([^0-9]|$)",
193 r"2/7",
194 Some((0, 3))
195);
196mat!(
197 match_basic_73,
198 r"(^|[ (,;])((([Ff]eb[^ ]* *|0*2/|\* */?)0*[6-7]))([^0-9]|$)",
199 r"feb 1,Feb 6",
200 Some((5, 11))
201);
202mat!(
203 match_basic_74,
204 r"((((((((((((((((((((((((((((((x))))))))))))))))))))))))))))))",
205 r"x",
206 Some((0, 1)),
207 Some((0, 1)),
208 Some((0, 1))
209);
210mat!(
211 match_basic_75,
212 r"((((((((((((((((((((((((((((((x))))))))))))))))))))))))))))))*",
213 r"xx",
214 Some((0, 2)),
215 Some((1, 2)),
216 Some((1, 2))
217);
218mat!(
219 match_basic_76,
220 r"a?(ab|ba)*",
221 r"ababababababababababababababababababababababababababababababababababababababababa",
222 Some((0, 81)),
223 Some((79, 81))
224);
225mat!(
226 match_basic_77,
227 r"abaa|abbaa|abbbaa|abbbbaa",
228 r"ababbabbbabbbabbbbabbbbaa",
229 Some((18, 25))
230);
231mat!(
232 match_basic_78,
233 r"abaa|abbaa|abbbaa|abbbbaa",
234 r"ababbabbbabbbabbbbabaa",
235 Some((18, 22))
236);
237mat!(
238 match_basic_79,
239 r"aaac|aabc|abac|abbc|baac|babc|bbac|bbbc",
240 r"baaabbbabac",
241 Some((7, 11))
242);
243mat!(match_basic_80, r".*", r"", Some((0, 2)));
244mat!(
245 match_basic_81,
246 r"aaaa|bbbb|cccc|ddddd|eeeeee|fffffff|gggg|hhhh|iiiii|jjjjj|kkkkk|llll",
247 r"XaaaXbbbXcccXdddXeeeXfffXgggXhhhXiiiXjjjXkkkXlllXcbaXaaaa",
248 Some((53, 57))
249);
250mat!(match_basic_83, r"a*a*a*a*a*b", r"aaaaaaaaab", Some((0, 10)));
251mat!(match_basic_84, r"^", r"", Some((0, 0)));
252mat!(match_basic_85, r"$", r"", Some((0, 0)));
253mat!(match_basic_86, r"^$", r"", Some((0, 0)));
254mat!(match_basic_87, r"^a$", r"a", Some((0, 1)));
255mat!(match_basic_88, r"abc", r"abc", Some((0, 3)));
256mat!(match_basic_89, r"abc", r"xabcy", Some((1, 4)));
257mat!(match_basic_90, r"abc", r"ababc", Some((2, 5)));
258mat!(match_basic_91, r"ab*c", r"abc", Some((0, 3)));
259mat!(match_basic_92, r"ab*bc", r"abc", Some((0, 3)));
260mat!(match_basic_93, r"ab*bc", r"abbc", Some((0, 4)));
261mat!(match_basic_94, r"ab*bc", r"abbbbc", Some((0, 6)));
262mat!(match_basic_95, r"ab+bc", r"abbc", Some((0, 4)));
263mat!(match_basic_96, r"ab+bc", r"abbbbc", Some((0, 6)));
264mat!(match_basic_97, r"ab?bc", r"abbc", Some((0, 4)));
265mat!(match_basic_98, r"ab?bc", r"abc", Some((0, 3)));
266mat!(match_basic_99, r"ab?c", r"abc", Some((0, 3)));
267mat!(match_basic_100, r"^abc$", r"abc", Some((0, 3)));
268mat!(match_basic_101, r"^abc", r"abcc", Some((0, 3)));
269mat!(match_basic_102, r"abc$", r"aabc", Some((1, 4)));
270mat!(match_basic_103, r"^", r"abc", Some((0, 0)));
271mat!(match_basic_104, r"$", r"abc", Some((3, 3)));
272mat!(match_basic_105, r"a.c", r"abc", Some((0, 3)));
273mat!(match_basic_106, r"a.c", r"axc", Some((0, 3)));
274mat!(match_basic_107, r"a.*c", r"axyzc", Some((0, 5)));
275mat!(match_basic_108, r"a[bc]d", r"abd", Some((0, 3)));
276mat!(match_basic_109, r"a[b-d]e", r"ace", Some((0, 3)));
277mat!(match_basic_110, r"a[b-d]", r"aac", Some((1, 3)));
278mat!(match_basic_111, r"a[-b]", r"a-", Some((0, 2)));
279mat!(match_basic_112, r"a[b-]", r"a-", Some((0, 2)));
280mat!(match_basic_113, r"a]", r"a]", Some((0, 2)));
281mat!(match_basic_114, r"a[]]b", r"a]b", Some((0, 3)));
282mat!(match_basic_115, r"a[^bc]d", r"aed", Some((0, 3)));
283mat!(match_basic_116, r"a[^-b]c", r"adc", Some((0, 3)));
284mat!(match_basic_117, r"a[^]b]c", r"adc", Some((0, 3)));
285mat!(match_basic_118, r"ab|cd", r"abc", Some((0, 2)));
286mat!(match_basic_119, r"ab|cd", r"abcd", Some((0, 2)));
287mat!(match_basic_120, r"a\(b", r"a(b", Some((0, 3)));
288mat!(match_basic_121, r"a\(*b", r"ab", Some((0, 2)));
289mat!(match_basic_122, r"a\(*b", r"a((b", Some((0, 4)));
290mat!(
291 match_basic_123,
292 r"((a))",
293 r"abc",
294 Some((0, 1)),
295 Some((0, 1)),
296 Some((0, 1))
297);
298mat!(
299 match_basic_124,
300 r"(a)b(c)",
301 r"abc",
302 Some((0, 3)),
303 Some((0, 1)),
304 Some((2, 3))
305);
306mat!(match_basic_125, r"a+b+c", r"aabbabc", Some((4, 7)));
307mat!(match_basic_126, r"a*", r"aaa", Some((0, 3)));
308mat!(match_basic_128, r"(a*)*", r"-", Some((0, 0)), None);
309mat!(match_basic_129, r"(a*)+", r"-", Some((0, 0)), Some((0, 0)));
310mat!(match_basic_131, r"(a*|b)*", r"-", Some((0, 0)), None);
311mat!(match_basic_132, r"(a+|b)*", r"ab", Some((0, 2)), Some((1, 2)));
312mat!(match_basic_133, r"(a+|b)+", r"ab", Some((0, 2)), Some((1, 2)));
313mat!(match_basic_134, r"(a+|b)?", r"ab", Some((0, 1)), Some((0, 1)));
314mat!(match_basic_135, r"[^ab]*", r"cde", Some((0, 3)));
315mat!(match_basic_137, r"(^)*", r"-", Some((0, 0)), None);
316mat!(match_basic_138, r"a*", r"", Some((0, 0)));
317mat!(match_basic_139, r"([abc])*d", r"abbbcd", Some((0, 6)), Some((4, 5)));
318mat!(match_basic_140, r"([abc])*bcd", r"abcd", Some((0, 4)), Some((0, 1)));
319mat!(match_basic_141, r"a|b|c|d|e", r"e", Some((0, 1)));
320mat!(match_basic_142, r"(a|b|c|d|e)f", r"ef", Some((0, 2)), Some((0, 1)));
321mat!(match_basic_144, r"((a*|b))*", r"-", Some((0, 0)), None, None);
322mat!(match_basic_145, r"abcd*efg", r"abcdefg", Some((0, 7)));
323mat!(match_basic_146, r"ab*", r"xabyabbbz", Some((1, 3)));
324mat!(match_basic_147, r"ab*", r"xayabbbz", Some((1, 2)));
325mat!(match_basic_148, r"(ab|cd)e", r"abcde", Some((2, 5)), Some((2, 4)));
326mat!(match_basic_149, r"[abhgefdc]ij", r"hij", Some((0, 3)));
327mat!(match_basic_150, r"(a|b)c*d", r"abcd", Some((1, 4)), Some((1, 2)));
328mat!(match_basic_151, r"(ab|ab*)bc", r"abc", Some((0, 3)), Some((0, 1)));
329mat!(match_basic_152, r"a([bc]*)c*", r"abc", Some((0, 3)), Some((1, 3)));
330mat!(
331 match_basic_153,
332 r"a([bc]*)(c*d)",
333 r"abcd",
334 Some((0, 4)),
335 Some((1, 3)),
336 Some((3, 4))
337);
338mat!(
339 match_basic_154,
340 r"a([bc]+)(c*d)",
341 r"abcd",
342 Some((0, 4)),
343 Some((1, 3)),
344 Some((3, 4))
345);
346mat!(
347 match_basic_155,
348 r"a([bc]*)(c+d)",
349 r"abcd",
350 Some((0, 4)),
351 Some((1, 2)),
352 Some((2, 4))
353);
354mat!(match_basic_156, r"a[bcd]*dcdcde", r"adcdcde", Some((0, 7)));
355mat!(match_basic_157, r"(ab|a)b*c", r"abc", Some((0, 3)), Some((0, 2)));
356mat!(
357 match_basic_158,
358 r"((a)(b)c)(d)",
359 r"abcd",
360 Some((0, 4)),
361 Some((0, 3)),
362 Some((0, 1)),
363 Some((1, 2)),
364 Some((3, 4))
365);
366mat!(match_basic_159, r"[A-Za-z_][A-Za-z0-9_]*", r"alpha", Some((0, 5)));
367mat!(match_basic_160, r"^a(bc+|b[eh])g|.h$", r"abh", Some((1, 3)));
368mat!(
369 match_basic_161,
370 r"(bc+d$|ef*g.|h?i(j|k))",
371 r"effgz",
372 Some((0, 5)),
373 Some((0, 5))
374);
375mat!(
376 match_basic_162,
377 r"(bc+d$|ef*g.|h?i(j|k))",
378 r"ij",
379 Some((0, 2)),
380 Some((0, 2)),
381 Some((1, 2))
382);
383mat!(
384 match_basic_163,
385 r"(bc+d$|ef*g.|h?i(j|k))",
386 r"reffgz",
387 Some((1, 6)),
388 Some((1, 6))
389);
390mat!(
391 match_basic_164,
392 r"(((((((((a)))))))))",
393 r"a",
394 Some((0, 1)),
395 Some((0, 1)),
396 Some((0, 1)),
397 Some((0, 1)),
398 Some((0, 1)),
399 Some((0, 1)),
400 Some((0, 1)),
401 Some((0, 1)),
402 Some((0, 1)),
403 Some((0, 1))
404);
405mat!(
406 match_basic_165,
407 r"multiple words",
408 r"multiple words yeah",
409 Some((0, 14))
410);
411mat!(
412 match_basic_166,
413 r"(.*)c(.*)",
414 r"abcde",
415 Some((0, 5)),
416 Some((0, 2)),
417 Some((3, 5))
418);
419mat!(match_basic_167, r"abcd", r"abcd", Some((0, 4)));
420mat!(match_basic_168, r"a(bc)d", r"abcd", Some((0, 4)), Some((1, 3)));
421mat!(match_basic_169, r"a[-]?c", r"ac", Some((0, 3)));
422mat!(
423 match_basic_170,
424 r"M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]",
425 r"Muammar Qaddafi",
426 Some((0, 15)),
427 None,
428 Some((10, 12))
429);
430mat!(
431 match_basic_171,
432 r"M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]",
433 r"Mo'ammar Gadhafi",
434 Some((0, 16)),
435 None,
436 Some((11, 13))
437);
438mat!(
439 match_basic_172,
440 r"M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]",
441 r"Muammar Kaddafi",
442 Some((0, 15)),
443 None,
444 Some((10, 12))
445);
446mat!(
447 match_basic_173,
448 r"M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]",
449 r"Muammar Qadhafi",
450 Some((0, 15)),
451 None,
452 Some((10, 12))
453);
454mat!(
455 match_basic_174,
456 r"M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]",
457 r"Muammar Gadafi",
458 Some((0, 14)),
459 None,
460 Some((10, 11))
461);
462mat!(
463 match_basic_175,
464 r"M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]",
465 r"Mu'ammar Qadafi",
466 Some((0, 15)),
467 None,
468 Some((11, 12))
469);
470mat!(
471 match_basic_176,
472 r"M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]",
473 r"Moamar Gaddafi",
474 Some((0, 14)),
475 None,
476 Some((9, 11))
477);
478mat!(
479 match_basic_177,
480 r"M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]",
481 r"Mu'ammar Qadhdhafi",
482 Some((0, 18)),
483 None,
484 Some((13, 15))
485);
486mat!(
487 match_basic_178,
488 r"M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]",
489 r"Muammar Khaddafi",
490 Some((0, 16)),
491 None,
492 Some((11, 13))
493);
494mat!(
495 match_basic_179,
496 r"M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]",
497 r"Muammar Ghaddafy",
498 Some((0, 16)),
499 None,
500 Some((11, 13))
501);
502mat!(
503 match_basic_180,
504 r"M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]",
505 r"Muammar Ghadafi",
506 Some((0, 15)),
507 None,
508 Some((11, 12))
509);
510mat!(
511 match_basic_181,
512 r"M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]",
513 r"Muammar Ghaddafi",
514 Some((0, 16)),
515 None,
516 Some((11, 13))
517);
518mat!(
519 match_basic_182,
520 r"M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]",
521 r"Muamar Kaddafi",
522 Some((0, 14)),
523 None,
524 Some((9, 11))
525);
526mat!(
527 match_basic_183,
528 r"M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]",
529 r"Muammar Quathafi",
530 Some((0, 16)),
531 None,
532 Some((11, 13))
533);
534mat!(
535 match_basic_184,
536 r"M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]",
537 r"Muammar Gheddafi",
538 Some((0, 16)),
539 None,
540 Some((11, 13))
541);
542mat!(
543 match_basic_185,
544 r"M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]",
545 r"Moammar Khadafy",
546 Some((0, 15)),
547 None,
548 Some((11, 12))
549);
550mat!(
551 match_basic_186,
552 r"M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]",
553 r"Moammar Qudhafi",
554 Some((0, 15)),
555 None,
556 Some((10, 12))
557);
558mat!(match_basic_187, r"a+(b|c)*d+", r"aabcdd", Some((0, 6)), Some((3, 4)));
559mat!(match_basic_188, r"^.+$", r"vivi", Some((0, 4)));
560mat!(match_basic_189, r"^(.+)$", r"vivi", Some((0, 4)), Some((0, 4)));
561mat!(
562 match_basic_190,
563 r"^([^!.]+).att.com!(.+)$",
564 r"gryphon.att.com!eby",
565 Some((0, 19)),
566 Some((0, 7)),
567 Some((16, 19))
568);
569mat!(
570 match_basic_191,
571 r"^([^!]+!)?([^!]+)$",
572 r"bas",
573 Some((0, 3)),
574 None,
575 Some((0, 3))
576);
577mat!(
578 match_basic_192,
579 r"^([^!]+!)?([^!]+)$",
580 r"bar!bas",
581 Some((0, 7)),
582 Some((0, 4)),
583 Some((4, 7))
584);
585mat!(
586 match_basic_193,
587 r"^([^!]+!)?([^!]+)$",
588 r"foo!bas",
589 Some((0, 7)),
590 Some((0, 4)),
591 Some((4, 7))
592);
593mat!(
594 match_basic_194,
595 r"^.+!([^!]+!)([^!]+)$",
596 r"foo!bar!bas",
597 Some((0, 11)),
598 Some((4, 8)),
599 Some((8, 11))
600);
601mat!(
602 match_basic_195,
603 r"((foo)|(bar))!bas",
604 r"bar!bas",
605 Some((0, 7)),
606 Some((0, 3)),
607 None,
608 Some((0, 3))
609);
610mat!(
611 match_basic_196,
612 r"((foo)|(bar))!bas",
613 r"foo!bar!bas",
614 Some((4, 11)),
615 Some((4, 7)),
616 None,
617 Some((4, 7))
618);
619mat!(
620 match_basic_197,
621 r"((foo)|(bar))!bas",
622 r"foo!bas",
623 Some((0, 7)),
624 Some((0, 3)),
625 Some((0, 3))
626);
627mat!(
628 match_basic_198,
629 r"((foo)|bar)!bas",
630 r"bar!bas",
631 Some((0, 7)),
632 Some((0, 3))
633);
634mat!(
635 match_basic_199,
636 r"((foo)|bar)!bas",
637 r"foo!bar!bas",
638 Some((4, 11)),
639 Some((4, 7))
640);
641mat!(
642 match_basic_200,
643 r"((foo)|bar)!bas",
644 r"foo!bas",
645 Some((0, 7)),
646 Some((0, 3)),
647 Some((0, 3))
648);
649mat!(
650 match_basic_201,
651 r"(foo|(bar))!bas",
652 r"bar!bas",
653 Some((0, 7)),
654 Some((0, 3)),
655 Some((0, 3))
656);
657mat!(
658 match_basic_202,
659 r"(foo|(bar))!bas",
660 r"foo!bar!bas",
661 Some((4, 11)),
662 Some((4, 7)),
663 Some((4, 7))
664);
665mat!(
666 match_basic_203,
667 r"(foo|(bar))!bas",
668 r"foo!bas",
669 Some((0, 7)),
670 Some((0, 3))
671);
672mat!(
673 match_basic_204,
674 r"(foo|bar)!bas",
675 r"bar!bas",
676 Some((0, 7)),
677 Some((0, 3))
678);
679mat!(
680 match_basic_205,
681 r"(foo|bar)!bas",
682 r"foo!bar!bas",
683 Some((4, 11)),
684 Some((4, 7))
685);
686mat!(
687 match_basic_206,
688 r"(foo|bar)!bas",
689 r"foo!bas",
690 Some((0, 7)),
691 Some((0, 3))
692);
693mat!(
694 match_basic_207,
695 r"^(([^!]+!)?([^!]+)|.+!([^!]+!)([^!]+))$",
696 r"foo!bar!bas",
697 Some((0, 11)),
698 Some((0, 11)),
699 None,
700 None,
701 Some((4, 8)),
702 Some((8, 11))
703);
704mat!(
705 match_basic_208,
706 r"^([^!]+!)?([^!]+)$|^.+!([^!]+!)([^!]+)$",
707 r"bas",
708 Some((0, 3)),
709 None,
710 Some((0, 3))
711);
712mat!(
713 match_basic_209,
714 r"^([^!]+!)?([^!]+)$|^.+!([^!]+!)([^!]+)$",
715 r"bar!bas",
716 Some((0, 7)),
717 Some((0, 4)),
718 Some((4, 7))
719);
720mat!(
721 match_basic_210,
722 r"^([^!]+!)?([^!]+)$|^.+!([^!]+!)([^!]+)$",
723 r"foo!bar!bas",
724 Some((0, 11)),
725 None,
726 None,
727 Some((4, 8)),
728 Some((8, 11))
729);
730mat!(
731 match_basic_211,
732 r"^([^!]+!)?([^!]+)$|^.+!([^!]+!)([^!]+)$",
733 r"foo!bas",
734 Some((0, 7)),
735 Some((0, 4)),
736 Some((4, 7))
737);
738mat!(
739 match_basic_212,
740 r"^(([^!]+!)?([^!]+)|.+!([^!]+!)([^!]+))$",
741 r"bas",
742 Some((0, 3)),
743 Some((0, 3)),
744 None,
745 Some((0, 3))
746);
747mat!(
748 match_basic_213,
749 r"^(([^!]+!)?([^!]+)|.+!([^!]+!)([^!]+))$",
750 r"bar!bas",
751 Some((0, 7)),
752 Some((0, 7)),
753 Some((0, 4)),
754 Some((4, 7))
755);
756mat!(
757 match_basic_214,
758 r"^(([^!]+!)?([^!]+)|.+!([^!]+!)([^!]+))$",
759 r"foo!bar!bas",
760 Some((0, 11)),
761 Some((0, 11)),
762 None,
763 None,
764 Some((4, 8)),
765 Some((8, 11))
766);
767mat!(
768 match_basic_215,
769 r"^(([^!]+!)?([^!]+)|.+!([^!]+!)([^!]+))$",
770 r"foo!bas",
771 Some((0, 7)),
772 Some((0, 7)),
773 Some((0, 4)),
774 Some((4, 7))
775);
776mat!(match_basic_216, r".*(/XXX).*", r"/XXX", Some((0, 4)), Some((0, 4)));
777mat!(match_basic_217, r".*(\\XXX).*", r"\XXX", Some((0, 4)), Some((0, 4)));
778mat!(match_basic_218, r"\\XXX", r"\XXX", Some((0, 4)));
779mat!(match_basic_219, r".*(/000).*", r"/000", Some((0, 4)), Some((0, 4)));
780mat!(match_basic_220, r".*(\\000).*", r"\000", Some((0, 4)), Some((0, 4)));
781mat!(match_basic_221, r"\\000", r"\000", Some((0, 4)));
782
783// Tests from nullsubexpr.dat
784mat!(match_nullsubexpr_3, r"(a*)*", r"a", Some((0, 1)), Some((0, 1)));
785mat!(match_nullsubexpr_5, r"(a*)*", r"x", Some((0, 0)), None);
786mat!(match_nullsubexpr_6, r"(a*)*", r"aaaaaa", Some((0, 6)), Some((0, 6)));
787mat!(match_nullsubexpr_7, r"(a*)*", r"aaaaaax", Some((0, 6)), Some((0, 6)));
788mat!(match_nullsubexpr_8, r"(a*)+", r"a", Some((0, 1)), Some((0, 1)));
789mat!(match_nullsubexpr_9, r"(a*)+", r"x", Some((0, 0)), Some((0, 0)));
790mat!(match_nullsubexpr_10, r"(a*)+", r"aaaaaa", Some((0, 6)), Some((0, 6)));
791mat!(match_nullsubexpr_11, r"(a*)+", r"aaaaaax", Some((0, 6)), Some((0, 6)));
792mat!(match_nullsubexpr_12, r"(a+)*", r"a", Some((0, 1)), Some((0, 1)));
793mat!(match_nullsubexpr_13, r"(a+)*", r"x", Some((0, 0)));
794mat!(match_nullsubexpr_14, r"(a+)*", r"aaaaaa", Some((0, 6)), Some((0, 6)));
795mat!(match_nullsubexpr_15, r"(a+)*", r"aaaaaax", Some((0, 6)), Some((0, 6)));
796mat!(match_nullsubexpr_16, r"(a+)+", r"a", Some((0, 1)), Some((0, 1)));
797mat!(match_nullsubexpr_17, r"(a+)+", r"x", None);
798mat!(match_nullsubexpr_18, r"(a+)+", r"aaaaaa", Some((0, 6)), Some((0, 6)));
799mat!(match_nullsubexpr_19, r"(a+)+", r"aaaaaax", Some((0, 6)), Some((0, 6)));
800mat!(match_nullsubexpr_21, r"([a]*)*", r"a", Some((0, 1)), Some((0, 1)));
801mat!(match_nullsubexpr_23, r"([a]*)*", r"x", Some((0, 0)), None);
802mat!(match_nullsubexpr_24, r"([a]*)*", r"aaaaaa", Some((0, 6)), Some((0, 6)));
803mat!(match_nullsubexpr_25, r"([a]*)*", r"aaaaaax", Some((0, 6)), Some((0, 6)));
804mat!(match_nullsubexpr_26, r"([a]*)+", r"a", Some((0, 1)), Some((0, 1)));
805mat!(match_nullsubexpr_27, r"([a]*)+", r"x", Some((0, 0)), Some((0, 0)));
806mat!(match_nullsubexpr_28, r"([a]*)+", r"aaaaaa", Some((0, 6)), Some((0, 6)));
807mat!(match_nullsubexpr_29, r"([a]*)+", r"aaaaaax", Some((0, 6)), Some((0, 6)));
808mat!(match_nullsubexpr_30, r"([^b]*)*", r"a", Some((0, 1)), Some((0, 1)));
809mat!(match_nullsubexpr_32, r"([^b]*)*", r"b", Some((0, 0)), None);
810mat!(match_nullsubexpr_33, r"([^b]*)*", r"aaaaaa", Some((0, 6)), Some((0, 6)));
811mat!(
812 match_nullsubexpr_34,
813 r"([^b]*)*",
814 r"aaaaaab",
815 Some((0, 6)),
816 Some((0, 6))
817);
818mat!(match_nullsubexpr_35, r"([ab]*)*", r"a", Some((0, 1)), Some((0, 1)));
819mat!(match_nullsubexpr_36, r"([ab]*)*", r"aaaaaa", Some((0, 6)), Some((0, 6)));
820mat!(match_nullsubexpr_37, r"([ab]*)*", r"ababab", Some((0, 6)), Some((0, 6)));
821mat!(match_nullsubexpr_38, r"([ab]*)*", r"bababa", Some((0, 6)), Some((0, 6)));
822mat!(match_nullsubexpr_39, r"([ab]*)*", r"b", Some((0, 1)), Some((0, 1)));
823mat!(match_nullsubexpr_40, r"([ab]*)*", r"bbbbbb", Some((0, 6)), Some((0, 6)));
824mat!(
825 match_nullsubexpr_41,
826 r"([ab]*)*",
827 r"aaaabcde",
828 Some((0, 5)),
829 Some((0, 5))
830);
831mat!(match_nullsubexpr_42, r"([^a]*)*", r"b", Some((0, 1)), Some((0, 1)));
832mat!(match_nullsubexpr_43, r"([^a]*)*", r"bbbbbb", Some((0, 6)), Some((0, 6)));
833mat!(match_nullsubexpr_45, r"([^a]*)*", r"aaaaaa", Some((0, 0)), None);
834mat!(
835 match_nullsubexpr_46,
836 r"([^ab]*)*",
837 r"ccccxx",
838 Some((0, 6)),
839 Some((0, 6))
840);
841mat!(match_nullsubexpr_48, r"([^ab]*)*", r"ababab", Some((0, 0)), None);
842mat!(
843 match_nullsubexpr_50,
844 r"((z)+|a)*",
845 r"zabcde",
846 Some((0, 2)),
847 Some((1, 2))
848);
849mat!(
850 match_nullsubexpr_69,
851 r"(a*)*(x)",
852 r"x",
853 Some((0, 1)),
854 None,
855 Some((0, 1))
856);
857mat!(
858 match_nullsubexpr_70,
859 r"(a*)*(x)",
860 r"ax",
861 Some((0, 2)),
862 Some((0, 1)),
863 Some((1, 2))
864);
865mat!(
866 match_nullsubexpr_71,
867 r"(a*)*(x)",
868 r"axa",
869 Some((0, 2)),
870 Some((0, 1)),
871 Some((1, 2))
872);
873mat!(
874 match_nullsubexpr_73,
875 r"(a*)+(x)",
876 r"x",
877 Some((0, 1)),
878 Some((0, 0)),
879 Some((0, 1))
880);
881mat!(
882 match_nullsubexpr_74,
883 r"(a*)+(x)",
884 r"ax",
885 Some((0, 2)),
886 Some((0, 1)),
887 Some((1, 2))
888);
889mat!(
890 match_nullsubexpr_75,
891 r"(a*)+(x)",
892 r"axa",
893 Some((0, 2)),
894 Some((0, 1)),
895 Some((1, 2))
896);
897mat!(
898 match_nullsubexpr_77,
899 r"(a*){2}(x)",
900 r"x",
901 Some((0, 1)),
902 Some((0, 0)),
903 Some((0, 1))
904);
905mat!(
906 match_nullsubexpr_78,
907 r"(a*){2}(x)",
908 r"ax",
909 Some((0, 2)),
910 Some((1, 1)),
911 Some((1, 2))
912);
913mat!(
914 match_nullsubexpr_79,
915 r"(a*){2}(x)",
916 r"axa",
917 Some((0, 2)),
918 Some((1, 1)),
919 Some((1, 2))
920);
921
922// Tests from repetition.dat
923mat!(match_repetition_10, r"((..)|(.))", r"", None);
924mat!(match_repetition_11, r"((..)|(.))((..)|(.))", r"", None);
925mat!(match_repetition_12, r"((..)|(.))((..)|(.))((..)|(.))", r"", None);
926mat!(match_repetition_14, r"((..)|(.)){1}", r"", None);
927mat!(match_repetition_15, r"((..)|(.)){2}", r"", None);
928mat!(match_repetition_16, r"((..)|(.)){3}", r"", None);
929mat!(match_repetition_18, r"((..)|(.))*", r"", Some((0, 0)));
930mat!(
931 match_repetition_20,
932 r"((..)|(.))",
933 r"a",
934 Some((0, 1)),
935 Some((0, 1)),
936 None,
937 Some((0, 1))
938);
939mat!(match_repetition_21, r"((..)|(.))((..)|(.))", r"a", None);
940mat!(match_repetition_22, r"((..)|(.))((..)|(.))((..)|(.))", r"a", None);
941mat!(
942 match_repetition_24,
943 r"((..)|(.)){1}",
944 r"a",
945 Some((0, 1)),
946 Some((0, 1)),
947 None,
948 Some((0, 1))
949);
950mat!(match_repetition_25, r"((..)|(.)){2}", r"a", None);
951mat!(match_repetition_26, r"((..)|(.)){3}", r"a", None);
952mat!(
953 match_repetition_28,
954 r"((..)|(.))*",
955 r"a",
956 Some((0, 1)),
957 Some((0, 1)),
958 None,
959 Some((0, 1))
960);
961mat!(
962 match_repetition_30,
963 r"((..)|(.))",
964 r"aa",
965 Some((0, 2)),
966 Some((0, 2)),
967 Some((0, 2)),
968 None
969);
970mat!(
971 match_repetition_31,
972 r"((..)|(.))((..)|(.))",
973 r"aa",
974 Some((0, 2)),
975 Some((0, 1)),
976 None,
977 Some((0, 1)),
978 Some((1, 2)),
979 None,
980 Some((1, 2))
981);
982mat!(match_repetition_32, r"((..)|(.))((..)|(.))((..)|(.))", r"aa", None);
983mat!(
984 match_repetition_34,
985 r"((..)|(.)){1}",
986 r"aa",
987 Some((0, 2)),
988 Some((0, 2)),
989 Some((0, 2)),
990 None
991);
992mat!(
993 match_repetition_35,
994 r"((..)|(.)){2}",
995 r"aa",
996 Some((0, 2)),
997 Some((1, 2)),
998 None,
999 Some((1, 2))
1000);
1001mat!(match_repetition_36, r"((..)|(.)){3}", r"aa", None);
1002mat!(
1003 match_repetition_38,
1004 r"((..)|(.))*",
1005 r"aa",
1006 Some((0, 2)),
1007 Some((0, 2)),
1008 Some((0, 2)),
1009 None
1010);
1011mat!(
1012 match_repetition_40,
1013 r"((..)|(.))",
1014 r"aaa",
1015 Some((0, 2)),
1016 Some((0, 2)),
1017 Some((0, 2)),
1018 None
1019);
1020mat!(
1021 match_repetition_41,
1022 r"((..)|(.))((..)|(.))",
1023 r"aaa",
1024 Some((0, 3)),
1025 Some((0, 2)),
1026 Some((0, 2)),
1027 None,
1028 Some((2, 3)),
1029 None,
1030 Some((2, 3))
1031);
1032mat!(
1033 match_repetition_42,
1034 r"((..)|(.))((..)|(.))((..)|(.))",
1035 r"aaa",
1036 Some((0, 3)),
1037 Some((0, 1)),
1038 None,
1039 Some((0, 1)),
1040 Some((1, 2)),
1041 None,
1042 Some((1, 2)),
1043 Some((2, 3)),
1044 None,
1045 Some((2, 3))
1046);
1047mat!(
1048 match_repetition_44,
1049 r"((..)|(.)){1}",
1050 r"aaa",
1051 Some((0, 2)),
1052 Some((0, 2)),
1053 Some((0, 2)),
1054 None
1055);
1056mat!(
1057 match_repetition_46,
1058 r"((..)|(.)){2}",
1059 r"aaa",
1060 Some((0, 3)),
1061 Some((2, 3)),
1062 Some((0, 2)),
1063 Some((2, 3))
1064);
1065mat!(
1066 match_repetition_47,
1067 r"((..)|(.)){3}",
1068 r"aaa",
1069 Some((0, 3)),
1070 Some((2, 3)),
1071 None,
1072 Some((2, 3))
1073);
1074mat!(
1075 match_repetition_50,
1076 r"((..)|(.))*",
1077 r"aaa",
1078 Some((0, 3)),
1079 Some((2, 3)),
1080 Some((0, 2)),
1081 Some((2, 3))
1082);
1083mat!(
1084 match_repetition_52,
1085 r"((..)|(.))",
1086 r"aaaa",
1087 Some((0, 2)),
1088 Some((0, 2)),
1089 Some((0, 2)),
1090 None
1091);
1092mat!(
1093 match_repetition_53,
1094 r"((..)|(.))((..)|(.))",
1095 r"aaaa",
1096 Some((0, 4)),
1097 Some((0, 2)),
1098 Some((0, 2)),
1099 None,
1100 Some((2, 4)),
1101 Some((2, 4)),
1102 None
1103);
1104mat!(
1105 match_repetition_54,
1106 r"((..)|(.))((..)|(.))((..)|(.))",
1107 r"aaaa",
1108 Some((0, 4)),
1109 Some((0, 2)),
1110 Some((0, 2)),
1111 None,
1112 Some((2, 3)),
1113 None,
1114 Some((2, 3)),
1115 Some((3, 4)),
1116 None,
1117 Some((3, 4))
1118);
1119mat!(
1120 match_repetition_56,
1121 r"((..)|(.)){1}",
1122 r"aaaa",
1123 Some((0, 2)),
1124 Some((0, 2)),
1125 Some((0, 2)),
1126 None
1127);
1128mat!(
1129 match_repetition_57,
1130 r"((..)|(.)){2}",
1131 r"aaaa",
1132 Some((0, 4)),
1133 Some((2, 4)),
1134 Some((2, 4)),
1135 None
1136);
1137mat!(
1138 match_repetition_59,
1139 r"((..)|(.)){3}",
1140 r"aaaa",
1141 Some((0, 4)),
1142 Some((3, 4)),
1143 Some((0, 2)),
1144 Some((3, 4))
1145);
1146mat!(
1147 match_repetition_61,
1148 r"((..)|(.))*",
1149 r"aaaa",
1150 Some((0, 4)),
1151 Some((2, 4)),
1152 Some((2, 4)),
1153 None
1154);
1155mat!(
1156 match_repetition_63,
1157 r"((..)|(.))",
1158 r"aaaaa",
1159 Some((0, 2)),
1160 Some((0, 2)),
1161 Some((0, 2)),
1162 None
1163);
1164mat!(
1165 match_repetition_64,
1166 r"((..)|(.))((..)|(.))",
1167 r"aaaaa",
1168 Some((0, 4)),
1169 Some((0, 2)),
1170 Some((0, 2)),
1171 None,
1172 Some((2, 4)),
1173 Some((2, 4)),
1174 None
1175);
1176mat!(
1177 match_repetition_65,
1178 r"((..)|(.))((..)|(.))((..)|(.))",
1179 r"aaaaa",
1180 Some((0, 5)),
1181 Some((0, 2)),
1182 Some((0, 2)),
1183 None,
1184 Some((2, 4)),
1185 Some((2, 4)),
1186 None,
1187 Some((4, 5)),
1188 None,
1189 Some((4, 5))
1190);
1191mat!(
1192 match_repetition_67,
1193 r"((..)|(.)){1}",
1194 r"aaaaa",
1195 Some((0, 2)),
1196 Some((0, 2)),
1197 Some((0, 2)),
1198 None
1199);
1200mat!(
1201 match_repetition_68,
1202 r"((..)|(.)){2}",
1203 r"aaaaa",
1204 Some((0, 4)),
1205 Some((2, 4)),
1206 Some((2, 4)),
1207 None
1208);
1209mat!(
1210 match_repetition_70,
1211 r"((..)|(.)){3}",
1212 r"aaaaa",
1213 Some((0, 5)),
1214 Some((4, 5)),
1215 Some((2, 4)),
1216 Some((4, 5))
1217);
1218mat!(
1219 match_repetition_73,
1220 r"((..)|(.))*",
1221 r"aaaaa",
1222 Some((0, 5)),
1223 Some((4, 5)),
1224 Some((2, 4)),
1225 Some((4, 5))
1226);
1227mat!(
1228 match_repetition_75,
1229 r"((..)|(.))",
1230 r"aaaaaa",
1231 Some((0, 2)),
1232 Some((0, 2)),
1233 Some((0, 2)),
1234 None
1235);
1236mat!(
1237 match_repetition_76,
1238 r"((..)|(.))((..)|(.))",
1239 r"aaaaaa",
1240 Some((0, 4)),
1241 Some((0, 2)),
1242 Some((0, 2)),
1243 None,
1244 Some((2, 4)),
1245 Some((2, 4)),
1246 None
1247);
1248mat!(
1249 match_repetition_77,
1250 r"((..)|(.))((..)|(.))((..)|(.))",
1251 r"aaaaaa",
1252 Some((0, 6)),
1253 Some((0, 2)),
1254 Some((0, 2)),
1255 None,
1256 Some((2, 4)),
1257 Some((2, 4)),
1258 None,
1259 Some((4, 6)),
1260 Some((4, 6)),
1261 None
1262);
1263mat!(
1264 match_repetition_79,
1265 r"((..)|(.)){1}",
1266 r"aaaaaa",
1267 Some((0, 2)),
1268 Some((0, 2)),
1269 Some((0, 2)),
1270 None
1271);
1272mat!(
1273 match_repetition_80,
1274 r"((..)|(.)){2}",
1275 r"aaaaaa",
1276 Some((0, 4)),
1277 Some((2, 4)),
1278 Some((2, 4)),
1279 None
1280);
1281mat!(
1282 match_repetition_81,
1283 r"((..)|(.)){3}",
1284 r"aaaaaa",
1285 Some((0, 6)),
1286 Some((4, 6)),
1287 Some((4, 6)),
1288 None
1289);
1290mat!(
1291 match_repetition_83,
1292 r"((..)|(.))*",
1293 r"aaaaaa",
1294 Some((0, 6)),
1295 Some((4, 6)),
1296 Some((4, 6)),
1297 None
1298);
1299mat!(
1300 match_repetition_90,
1301 r"X(.?){0,}Y",
1302 r"X1234567Y",
1303 Some((0, 9)),
1304 Some((7, 8))
1305);
1306mat!(
1307 match_repetition_91,
1308 r"X(.?){1,}Y",
1309 r"X1234567Y",
1310 Some((0, 9)),
1311 Some((7, 8))
1312);
1313mat!(
1314 match_repetition_92,
1315 r"X(.?){2,}Y",
1316 r"X1234567Y",
1317 Some((0, 9)),
1318 Some((7, 8))
1319);
1320mat!(
1321 match_repetition_93,
1322 r"X(.?){3,}Y",
1323 r"X1234567Y",
1324 Some((0, 9)),
1325 Some((7, 8))
1326);
1327mat!(
1328 match_repetition_94,
1329 r"X(.?){4,}Y",
1330 r"X1234567Y",
1331 Some((0, 9)),
1332 Some((7, 8))
1333);
1334mat!(
1335 match_repetition_95,
1336 r"X(.?){5,}Y",
1337 r"X1234567Y",
1338 Some((0, 9)),
1339 Some((7, 8))
1340);
1341mat!(
1342 match_repetition_96,
1343 r"X(.?){6,}Y",
1344 r"X1234567Y",
1345 Some((0, 9)),
1346 Some((7, 8))
1347);
1348mat!(
1349 match_repetition_97,
1350 r"X(.?){7,}Y",
1351 r"X1234567Y",
1352 Some((0, 9)),
1353 Some((7, 8))
1354);
1355mat!(
1356 match_repetition_98,
1357 r"X(.?){8,}Y",
1358 r"X1234567Y",
1359 Some((0, 9)),
1360 Some((8, 8))
1361);
1362mat!(
1363 match_repetition_100,
1364 r"X(.?){0,8}Y",
1365 r"X1234567Y",
1366 Some((0, 9)),
1367 Some((8, 8))
1368);
1369mat!(
1370 match_repetition_102,
1371 r"X(.?){1,8}Y",
1372 r"X1234567Y",
1373 Some((0, 9)),
1374 Some((8, 8))
1375);
1376mat!(
1377 match_repetition_104,
1378 r"X(.?){2,8}Y",
1379 r"X1234567Y",
1380 Some((0, 9)),
1381 Some((8, 8))
1382);
1383mat!(
1384 match_repetition_106,
1385 r"X(.?){3,8}Y",
1386 r"X1234567Y",
1387 Some((0, 9)),
1388 Some((8, 8))
1389);
1390mat!(
1391 match_repetition_108,
1392 r"X(.?){4,8}Y",
1393 r"X1234567Y",
1394 Some((0, 9)),
1395 Some((8, 8))
1396);
1397mat!(
1398 match_repetition_110,
1399 r"X(.?){5,8}Y",
1400 r"X1234567Y",
1401 Some((0, 9)),
1402 Some((8, 8))
1403);
1404mat!(
1405 match_repetition_112,
1406 r"X(.?){6,8}Y",
1407 r"X1234567Y",
1408 Some((0, 9)),
1409 Some((8, 8))
1410);
1411mat!(
1412 match_repetition_114,
1413 r"X(.?){7,8}Y",
1414 r"X1234567Y",
1415 Some((0, 9)),
1416 Some((8, 8))
1417);
1418mat!(
1419 match_repetition_115,
1420 r"X(.?){8,8}Y",
1421 r"X1234567Y",
1422 Some((0, 9)),
1423 Some((8, 8))
1424);
1425mat!(
1426 match_repetition_126,
1427 r"(a|ab|c|bcd){0,}(d*)",
1428 r"ababcd",
1429 Some((0, 1)),
1430 Some((0, 1)),
1431 Some((1, 1))
1432);
1433mat!(
1434 match_repetition_127,
1435 r"(a|ab|c|bcd){1,}(d*)",
1436 r"ababcd",
1437 Some((0, 1)),
1438 Some((0, 1)),
1439 Some((1, 1))
1440);
1441mat!(
1442 match_repetition_128,
1443 r"(a|ab|c|bcd){2,}(d*)",
1444 r"ababcd",
1445 Some((0, 6)),
1446 Some((3, 6)),
1447 Some((6, 6))
1448);
1449mat!(
1450 match_repetition_129,
1451 r"(a|ab|c|bcd){3,}(d*)",
1452 r"ababcd",
1453 Some((0, 6)),
1454 Some((3, 6)),
1455 Some((6, 6))
1456);
1457mat!(match_repetition_130, r"(a|ab|c|bcd){4,}(d*)", r"ababcd", None);
1458mat!(
1459 match_repetition_131,
1460 r"(a|ab|c|bcd){0,10}(d*)",
1461 r"ababcd",
1462 Some((0, 1)),
1463 Some((0, 1)),
1464 Some((1, 1))
1465);
1466mat!(
1467 match_repetition_132,
1468 r"(a|ab|c|bcd){1,10}(d*)",
1469 r"ababcd",
1470 Some((0, 1)),
1471 Some((0, 1)),
1472 Some((1, 1))
1473);
1474mat!(
1475 match_repetition_133,
1476 r"(a|ab|c|bcd){2,10}(d*)",
1477 r"ababcd",
1478 Some((0, 6)),
1479 Some((3, 6)),
1480 Some((6, 6))
1481);
1482mat!(
1483 match_repetition_134,
1484 r"(a|ab|c|bcd){3,10}(d*)",
1485 r"ababcd",
1486 Some((0, 6)),
1487 Some((3, 6)),
1488 Some((6, 6))
1489);
1490mat!(match_repetition_135, r"(a|ab|c|bcd){4,10}(d*)", r"ababcd", None);
1491mat!(
1492 match_repetition_136,
1493 r"(a|ab|c|bcd)*(d*)",
1494 r"ababcd",
1495 Some((0, 1)),
1496 Some((0, 1)),
1497 Some((1, 1))
1498);
1499mat!(
1500 match_repetition_137,
1501 r"(a|ab|c|bcd)+(d*)",
1502 r"ababcd",
1503 Some((0, 1)),
1504 Some((0, 1)),
1505 Some((1, 1))
1506);
1507mat!(
1508 match_repetition_143,
1509 r"(ab|a|c|bcd){0,}(d*)",
1510 r"ababcd",
1511 Some((0, 6)),
1512 Some((4, 5)),
1513 Some((5, 6))
1514);
1515mat!(
1516 match_repetition_145,
1517 r"(ab|a|c|bcd){1,}(d*)",
1518 r"ababcd",
1519 Some((0, 6)),
1520 Some((4, 5)),
1521 Some((5, 6))
1522);
1523mat!(
1524 match_repetition_147,
1525 r"(ab|a|c|bcd){2,}(d*)",
1526 r"ababcd",
1527 Some((0, 6)),
1528 Some((4, 5)),
1529 Some((5, 6))
1530);
1531mat!(
1532 match_repetition_149,
1533 r"(ab|a|c|bcd){3,}(d*)",
1534 r"ababcd",
1535 Some((0, 6)),
1536 Some((4, 5)),
1537 Some((5, 6))
1538);
1539mat!(match_repetition_150, r"(ab|a|c|bcd){4,}(d*)", r"ababcd", None);
1540mat!(
1541 match_repetition_152,
1542 r"(ab|a|c|bcd){0,10}(d*)",
1543 r"ababcd",
1544 Some((0, 6)),
1545 Some((4, 5)),
1546 Some((5, 6))
1547);
1548mat!(
1549 match_repetition_154,
1550 r"(ab|a|c|bcd){1,10}(d*)",
1551 r"ababcd",
1552 Some((0, 6)),
1553 Some((4, 5)),
1554 Some((5, 6))
1555);
1556mat!(
1557 match_repetition_156,
1558 r"(ab|a|c|bcd){2,10}(d*)",
1559 r"ababcd",
1560 Some((0, 6)),
1561 Some((4, 5)),
1562 Some((5, 6))
1563);
1564mat!(
1565 match_repetition_158,
1566 r"(ab|a|c|bcd){3,10}(d*)",
1567 r"ababcd",
1568 Some((0, 6)),
1569 Some((4, 5)),
1570 Some((5, 6))
1571);
1572mat!(match_repetition_159, r"(ab|a|c|bcd){4,10}(d*)", r"ababcd", None);
1573mat!(
1574 match_repetition_161,
1575 r"(ab|a|c|bcd)*(d*)",
1576 r"ababcd",
1577 Some((0, 6)),
1578 Some((4, 5)),
1579 Some((5, 6))
1580);
1581mat!(
1582 match_repetition_163,
1583 r"(ab|a|c|bcd)+(d*)",
1584 r"ababcd",
1585 Some((0, 6)),
1586 Some((4, 5)),
1587 Some((5, 6))
1588);