1 // 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 5 mat!(match_basic_3, r"abracadabra$", r"abracadabracadabra", Some((7, 18))); 6 mat!(match_basic_4, r"a...b", r"abababbb", Some((2, 7))); 7 mat!(match_basic_5, r"XXXXXX", r"..XXXXXX", Some((2, 8))); 8 mat!(match_basic_6, r"\)", r"()", Some((1, 2))); 9 mat!(match_basic_7, r"a]", r"a]a", Some((0, 2))); 10 mat!(match_basic_9, r"\}", r"}", Some((0, 1))); 11 mat!(match_basic_10, r"\]", r"]", Some((0, 1))); 12 mat!(match_basic_12, r"]", r"]", Some((0, 1))); 13 mat!(match_basic_15, r"^a", r"ax", Some((0, 1))); 14 mat!(match_basic_16, r"\^a", r"a^a", Some((1, 3))); 15 mat!(match_basic_17, r"a\^", r"a^", Some((0, 2))); 16 mat!(match_basic_18, r"a$", r"aa", Some((1, 2))); 17 mat!(match_basic_19, r"a\$", r"a$", Some((0, 2))); 18 mat!(match_basic_20, r"^$", r"", Some((0, 0))); 19 mat!(match_basic_21, r"$^", r"", Some((0, 0))); 20 mat!(match_basic_22, r"a($)", r"aa", Some((1, 2)), Some((2, 2))); 21 mat!(match_basic_23, r"a*(^a)", r"aa", Some((0, 1)), Some((0, 1))); 22 mat!(match_basic_24, r"(..)*(...)*", r"a", Some((0, 0))); 23 mat!(match_basic_25, r"(..)*(...)*", r"abcd", Some((0, 4)), Some((2, 4))); 24 mat!( 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 ); 32 mat!(match_basic_27, r"(ab)c|abc", r"abc", Some((0, 3)), Some((0, 2))); 33 mat!(match_basic_28, r"a{0}b", r"ab", Some((1, 2))); 34 mat!( 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 ); 43 mat!( 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 ); 52 mat!( 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 ); 60 mat!( 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 ); 68 mat!(match_basic_34, r"a*(a.|aa)", r"aaaa", Some((0, 4)), Some((2, 4))); 69 mat!( 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 ); 78 mat!(match_basic_36, r"(a|b)?.*", r"b", Some((0, 1)), Some((0, 1))); 79 mat!(match_basic_37, r"(a|b)c|a(b|c)", r"ac", Some((0, 2)), Some((0, 1))); 80 mat!( 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 ); 88 mat!(match_basic_39, r"(a|b)*c|(a|ab)*c", r"abc", Some((0, 3)), Some((1, 2))); 89 mat!(match_basic_40, r"(a|b)*c|(a|ab)*c", r"xc", Some((1, 2))); 90 mat!( 91 match_basic_41, 92 r"(.a|.b).*|.*(.a|.b)", 93 r"xa", 94 Some((0, 2)), 95 Some((0, 2)) 96 ); 97 mat!(match_basic_42, r"a?(ab|ba)ab", r"abab", Some((0, 4)), Some((0, 2))); 98 mat!(match_basic_43, r"a?(ac{0}b|ba)ab", r"abab", Some((0, 4)), Some((0, 2))); 99 mat!(match_basic_44, r"ab|abab", r"abbabab", Some((0, 2))); 100 mat!(match_basic_45, r"aba|bab|bba", r"baaabbbaba", Some((5, 8))); 101 mat!(match_basic_46, r"aba|bab", r"baaabbbaba", Some((6, 9))); 102 mat!( 103 match_basic_47, 104 r"(aa|aaa)*|(a|aaaaa)", 105 r"aa", 106 Some((0, 2)), 107 Some((0, 2)) 108 ); 109 mat!( 110 match_basic_48, 111 r"(a.|.a.)*|(a|.a...)", 112 r"aa", 113 Some((0, 2)), 114 Some((0, 2)) 115 ); 116 mat!(match_basic_49, r"ab|a", r"xabc", Some((1, 3))); 117 mat!(match_basic_50, r"ab|a", r"xxabc", Some((2, 4))); 118 mat!( 119 match_basic_51, 120 r"(?i)(?-u)(Ab|cD)*", 121 r"aBcD", 122 Some((0, 4)), 123 Some((2, 4)) 124 ); 125 mat!(match_basic_52, r"[^-]", r"--a", Some((2, 3))); 126 mat!(match_basic_53, r"[a-]*", r"--a", Some((0, 3))); 127 mat!(match_basic_54, r"[a-m-]*", r"--amoma--", Some((0, 4))); 128 mat!( 129 match_basic_55, 130 r":::1:::0:|:::1:1:0:", 131 r":::0:::1:::1:::0:", 132 Some((8, 17)) 133 ); 134 mat!( 135 match_basic_56, 136 r":::1:::0:|:::1:1:1:", 137 r":::0:::1:::1:::0:", 138 Some((8, 17)) 139 ); 140 mat!(match_basic_57, r"[[:upper:]]", r"A", Some((0, 1))); 141 mat!(match_basic_58, r"[[:lower:]]+", r"`az{", Some((1, 3))); 142 mat!(match_basic_59, r"[[:upper:]]+", r"@AZ[", Some((1, 3))); 143 mat!( 144 match_basic_65, 145 r" 146 ", 147 r" 148 ", 149 Some((0, 1)) 150 ); 151 mat!( 152 match_basic_66, 153 r" 154 ", 155 r" 156 ", 157 Some((0, 1)) 158 ); 159 mat!( 160 match_basic_67, 161 r"[^a]", 162 r" 163 ", 164 Some((0, 1)) 165 ); 166 mat!( 167 match_basic_68, 168 r" 169 a", 170 r" 171 a", 172 Some((0, 2)) 173 ); 174 mat!( 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 ); 183 mat!(match_basic_70, r"xxx", r"xxx", Some((0, 3))); 184 mat!( 185 match_basic_71, 186 r"(^|[ (,;])((([Ff]eb[^ ]* *|0*2/|\* */?)0*[6-7]))([^0-9]|$)", 187 r"feb 6,", 188 Some((0, 6)) 189 ); 190 mat!( 191 match_basic_72, 192 r"(^|[ (,;])((([Ff]eb[^ ]* *|0*2/|\* */?)0*[6-7]))([^0-9]|$)", 193 r"2/7", 194 Some((0, 3)) 195 ); 196 mat!( 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 ); 202 mat!( 203 match_basic_74, 204 r"((((((((((((((((((((((((((((((x))))))))))))))))))))))))))))))", 205 r"x", 206 Some((0, 1)), 207 Some((0, 1)), 208 Some((0, 1)) 209 ); 210 mat!( 211 match_basic_75, 212 r"((((((((((((((((((((((((((((((x))))))))))))))))))))))))))))))*", 213 r"xx", 214 Some((0, 2)), 215 Some((1, 2)), 216 Some((1, 2)) 217 ); 218 mat!( 219 match_basic_76, 220 r"a?(ab|ba)*", 221 r"ababababababababababababababababababababababababababababababababababababababababa", 222 Some((0, 81)), 223 Some((79, 81)) 224 ); 225 mat!( 226 match_basic_77, 227 r"abaa|abbaa|abbbaa|abbbbaa", 228 r"ababbabbbabbbabbbbabbbbaa", 229 Some((18, 25)) 230 ); 231 mat!( 232 match_basic_78, 233 r"abaa|abbaa|abbbaa|abbbbaa", 234 r"ababbabbbabbbabbbbabaa", 235 Some((18, 22)) 236 ); 237 mat!( 238 match_basic_79, 239 r"aaac|aabc|abac|abbc|baac|babc|bbac|bbbc", 240 r"baaabbbabac", 241 Some((7, 11)) 242 ); 243 mat!(match_basic_80, r".*", r"", Some((0, 2))); 244 mat!( 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 ); 250 mat!(match_basic_83, r"a*a*a*a*a*b", r"aaaaaaaaab", Some((0, 10))); 251 mat!(match_basic_84, r"^", r"", Some((0, 0))); 252 mat!(match_basic_85, r"$", r"", Some((0, 0))); 253 mat!(match_basic_86, r"^$", r"", Some((0, 0))); 254 mat!(match_basic_87, r"^a$", r"a", Some((0, 1))); 255 mat!(match_basic_88, r"abc", r"abc", Some((0, 3))); 256 mat!(match_basic_89, r"abc", r"xabcy", Some((1, 4))); 257 mat!(match_basic_90, r"abc", r"ababc", Some((2, 5))); 258 mat!(match_basic_91, r"ab*c", r"abc", Some((0, 3))); 259 mat!(match_basic_92, r"ab*bc", r"abc", Some((0, 3))); 260 mat!(match_basic_93, r"ab*bc", r"abbc", Some((0, 4))); 261 mat!(match_basic_94, r"ab*bc", r"abbbbc", Some((0, 6))); 262 mat!(match_basic_95, r"ab+bc", r"abbc", Some((0, 4))); 263 mat!(match_basic_96, r"ab+bc", r"abbbbc", Some((0, 6))); 264 mat!(match_basic_97, r"ab?bc", r"abbc", Some((0, 4))); 265 mat!(match_basic_98, r"ab?bc", r"abc", Some((0, 3))); 266 mat!(match_basic_99, r"ab?c", r"abc", Some((0, 3))); 267 mat!(match_basic_100, r"^abc$", r"abc", Some((0, 3))); 268 mat!(match_basic_101, r"^abc", r"abcc", Some((0, 3))); 269 mat!(match_basic_102, r"abc$", r"aabc", Some((1, 4))); 270 mat!(match_basic_103, r"^", r"abc", Some((0, 0))); 271 mat!(match_basic_104, r"$", r"abc", Some((3, 3))); 272 mat!(match_basic_105, r"a.c", r"abc", Some((0, 3))); 273 mat!(match_basic_106, r"a.c", r"axc", Some((0, 3))); 274 mat!(match_basic_107, r"a.*c", r"axyzc", Some((0, 5))); 275 mat!(match_basic_108, r"a[bc]d", r"abd", Some((0, 3))); 276 mat!(match_basic_109, r"a[b-d]e", r"ace", Some((0, 3))); 277 mat!(match_basic_110, r"a[b-d]", r"aac", Some((1, 3))); 278 mat!(match_basic_111, r"a[-b]", r"a-", Some((0, 2))); 279 mat!(match_basic_112, r"a[b-]", r"a-", Some((0, 2))); 280 mat!(match_basic_113, r"a]", r"a]", Some((0, 2))); 281 mat!(match_basic_114, r"a[]]b", r"a]b", Some((0, 3))); 282 mat!(match_basic_115, r"a[^bc]d", r"aed", Some((0, 3))); 283 mat!(match_basic_116, r"a[^-b]c", r"adc", Some((0, 3))); 284 mat!(match_basic_117, r"a[^]b]c", r"adc", Some((0, 3))); 285 mat!(match_basic_118, r"ab|cd", r"abc", Some((0, 2))); 286 mat!(match_basic_119, r"ab|cd", r"abcd", Some((0, 2))); 287 mat!(match_basic_120, r"a\(b", r"a(b", Some((0, 3))); 288 mat!(match_basic_121, r"a\(*b", r"ab", Some((0, 2))); 289 mat!(match_basic_122, r"a\(*b", r"a((b", Some((0, 4))); 290 mat!( 291 match_basic_123, 292 r"((a))", 293 r"abc", 294 Some((0, 1)), 295 Some((0, 1)), 296 Some((0, 1)) 297 ); 298 mat!( 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 ); 306 mat!(match_basic_125, r"a+b+c", r"aabbabc", Some((4, 7))); 307 mat!(match_basic_126, r"a*", r"aaa", Some((0, 3))); 308 mat!(match_basic_128, r"(a*)*", r"-", Some((0, 0)), None); 309 mat!(match_basic_129, r"(a*)+", r"-", Some((0, 0)), Some((0, 0))); 310 mat!(match_basic_131, r"(a*|b)*", r"-", Some((0, 0)), None); 311 mat!(match_basic_132, r"(a+|b)*", r"ab", Some((0, 2)), Some((1, 2))); 312 mat!(match_basic_133, r"(a+|b)+", r"ab", Some((0, 2)), Some((1, 2))); 313 mat!(match_basic_134, r"(a+|b)?", r"ab", Some((0, 1)), Some((0, 1))); 314 mat!(match_basic_135, r"[^ab]*", r"cde", Some((0, 3))); 315 mat!(match_basic_137, r"(^)*", r"-", Some((0, 0)), None); 316 mat!(match_basic_138, r"a*", r"", Some((0, 0))); 317 mat!(match_basic_139, r"([abc])*d", r"abbbcd", Some((0, 6)), Some((4, 5))); 318 mat!(match_basic_140, r"([abc])*bcd", r"abcd", Some((0, 4)), Some((0, 1))); 319 mat!(match_basic_141, r"a|b|c|d|e", r"e", Some((0, 1))); 320 mat!(match_basic_142, r"(a|b|c|d|e)f", r"ef", Some((0, 2)), Some((0, 1))); 321 mat!(match_basic_144, r"((a*|b))*", r"-", Some((0, 0)), None, None); 322 mat!(match_basic_145, r"abcd*efg", r"abcdefg", Some((0, 7))); 323 mat!(match_basic_146, r"ab*", r"xabyabbbz", Some((1, 3))); 324 mat!(match_basic_147, r"ab*", r"xayabbbz", Some((1, 2))); 325 mat!(match_basic_148, r"(ab|cd)e", r"abcde", Some((2, 5)), Some((2, 4))); 326 mat!(match_basic_149, r"[abhgefdc]ij", r"hij", Some((0, 3))); 327 mat!(match_basic_150, r"(a|b)c*d", r"abcd", Some((1, 4)), Some((1, 2))); 328 mat!(match_basic_151, r"(ab|ab*)bc", r"abc", Some((0, 3)), Some((0, 1))); 329 mat!(match_basic_152, r"a([bc]*)c*", r"abc", Some((0, 3)), Some((1, 3))); 330 mat!( 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 ); 338 mat!( 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 ); 346 mat!( 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 ); 354 mat!(match_basic_156, r"a[bcd]*dcdcde", r"adcdcde", Some((0, 7))); 355 mat!(match_basic_157, r"(ab|a)b*c", r"abc", Some((0, 3)), Some((0, 2))); 356 mat!( 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 ); 366 mat!(match_basic_159, r"[A-Za-z_][A-Za-z0-9_]*", r"alpha", Some((0, 5))); 367 mat!(match_basic_160, r"^a(bc+|b[eh])g|.h$", r"abh", Some((1, 3))); 368 mat!( 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 ); 375 mat!( 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 ); 383 mat!( 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 ); 390 mat!( 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 ); 405 mat!( 406 match_basic_165, 407 r"multiple words", 408 r"multiple words yeah", 409 Some((0, 14)) 410 ); 411 mat!( 412 match_basic_166, 413 r"(.*)c(.*)", 414 r"abcde", 415 Some((0, 5)), 416 Some((0, 2)), 417 Some((3, 5)) 418 ); 419 mat!(match_basic_167, r"abcd", r"abcd", Some((0, 4))); 420 mat!(match_basic_168, r"a(bc)d", r"abcd", Some((0, 4)), Some((1, 3))); 421 mat!(match_basic_169, r"a[-]?c", r"ac", Some((0, 3))); 422 mat!( 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 ); 430 mat!( 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 ); 438 mat!( 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 ); 446 mat!( 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 ); 454 mat!( 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 ); 462 mat!( 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 ); 470 mat!( 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 ); 478 mat!( 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 ); 486 mat!( 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 ); 494 mat!( 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 ); 502 mat!( 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 ); 510 mat!( 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 ); 518 mat!( 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 ); 526 mat!( 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 ); 534 mat!( 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 ); 542 mat!( 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 ); 550 mat!( 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 ); 558 mat!(match_basic_187, r"a+(b|c)*d+", r"aabcdd", Some((0, 6)), Some((3, 4))); 559 mat!(match_basic_188, r"^.+$", r"vivi", Some((0, 4))); 560 mat!(match_basic_189, r"^(.+)$", r"vivi", Some((0, 4)), Some((0, 4))); 561 mat!( 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 ); 569 mat!( 570 match_basic_191, 571 r"^([^!]+!)?([^!]+)$", 572 r"bas", 573 Some((0, 3)), 574 None, 575 Some((0, 3)) 576 ); 577 mat!( 578 match_basic_192, 579 r"^([^!]+!)?([^!]+)$", 580 r"bar!bas", 581 Some((0, 7)), 582 Some((0, 4)), 583 Some((4, 7)) 584 ); 585 mat!( 586 match_basic_193, 587 r"^([^!]+!)?([^!]+)$", 588 r"foo!bas", 589 Some((0, 7)), 590 Some((0, 4)), 591 Some((4, 7)) 592 ); 593 mat!( 594 match_basic_194, 595 r"^.+!([^!]+!)([^!]+)$", 596 r"foo!bar!bas", 597 Some((0, 11)), 598 Some((4, 8)), 599 Some((8, 11)) 600 ); 601 mat!( 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 ); 610 mat!( 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 ); 619 mat!( 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 ); 627 mat!( 628 match_basic_198, 629 r"((foo)|bar)!bas", 630 r"bar!bas", 631 Some((0, 7)), 632 Some((0, 3)) 633 ); 634 mat!( 635 match_basic_199, 636 r"((foo)|bar)!bas", 637 r"foo!bar!bas", 638 Some((4, 11)), 639 Some((4, 7)) 640 ); 641 mat!( 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 ); 649 mat!( 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 ); 657 mat!( 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 ); 665 mat!( 666 match_basic_203, 667 r"(foo|(bar))!bas", 668 r"foo!bas", 669 Some((0, 7)), 670 Some((0, 3)) 671 ); 672 mat!( 673 match_basic_204, 674 r"(foo|bar)!bas", 675 r"bar!bas", 676 Some((0, 7)), 677 Some((0, 3)) 678 ); 679 mat!( 680 match_basic_205, 681 r"(foo|bar)!bas", 682 r"foo!bar!bas", 683 Some((4, 11)), 684 Some((4, 7)) 685 ); 686 mat!( 687 match_basic_206, 688 r"(foo|bar)!bas", 689 r"foo!bas", 690 Some((0, 7)), 691 Some((0, 3)) 692 ); 693 mat!( 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 ); 704 mat!( 705 match_basic_208, 706 r"^([^!]+!)?([^!]+)$|^.+!([^!]+!)([^!]+)$", 707 r"bas", 708 Some((0, 3)), 709 None, 710 Some((0, 3)) 711 ); 712 mat!( 713 match_basic_209, 714 r"^([^!]+!)?([^!]+)$|^.+!([^!]+!)([^!]+)$", 715 r"bar!bas", 716 Some((0, 7)), 717 Some((0, 4)), 718 Some((4, 7)) 719 ); 720 mat!( 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 ); 730 mat!( 731 match_basic_211, 732 r"^([^!]+!)?([^!]+)$|^.+!([^!]+!)([^!]+)$", 733 r"foo!bas", 734 Some((0, 7)), 735 Some((0, 4)), 736 Some((4, 7)) 737 ); 738 mat!( 739 match_basic_212, 740 r"^(([^!]+!)?([^!]+)|.+!([^!]+!)([^!]+))$", 741 r"bas", 742 Some((0, 3)), 743 Some((0, 3)), 744 None, 745 Some((0, 3)) 746 ); 747 mat!( 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 ); 756 mat!( 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 ); 767 mat!( 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 ); 776 mat!(match_basic_216, r".*(/XXX).*", r"/XXX", Some((0, 4)), Some((0, 4))); 777 mat!(match_basic_217, r".*(\\XXX).*", r"\XXX", Some((0, 4)), Some((0, 4))); 778 mat!(match_basic_218, r"\\XXX", r"\XXX", Some((0, 4))); 779 mat!(match_basic_219, r".*(/000).*", r"/000", Some((0, 4)), Some((0, 4))); 780 mat!(match_basic_220, r".*(\\000).*", r"\000", Some((0, 4)), Some((0, 4))); 781 mat!(match_basic_221, r"\\000", r"\000", Some((0, 4))); 782 783 // Tests from nullsubexpr.dat 784 mat!(match_nullsubexpr_3, r"(a*)*", r"a", Some((0, 1)), Some((0, 1))); 785 mat!(match_nullsubexpr_5, r"(a*)*", r"x", Some((0, 0)), None); 786 mat!(match_nullsubexpr_6, r"(a*)*", r"aaaaaa", Some((0, 6)), Some((0, 6))); 787 mat!(match_nullsubexpr_7, r"(a*)*", r"aaaaaax", Some((0, 6)), Some((0, 6))); 788 mat!(match_nullsubexpr_8, r"(a*)+", r"a", Some((0, 1)), Some((0, 1))); 789 mat!(match_nullsubexpr_9, r"(a*)+", r"x", Some((0, 0)), Some((0, 0))); 790 mat!(match_nullsubexpr_10, r"(a*)+", r"aaaaaa", Some((0, 6)), Some((0, 6))); 791 mat!(match_nullsubexpr_11, r"(a*)+", r"aaaaaax", Some((0, 6)), Some((0, 6))); 792 mat!(match_nullsubexpr_12, r"(a+)*", r"a", Some((0, 1)), Some((0, 1))); 793 mat!(match_nullsubexpr_13, r"(a+)*", r"x", Some((0, 0))); 794 mat!(match_nullsubexpr_14, r"(a+)*", r"aaaaaa", Some((0, 6)), Some((0, 6))); 795 mat!(match_nullsubexpr_15, r"(a+)*", r"aaaaaax", Some((0, 6)), Some((0, 6))); 796 mat!(match_nullsubexpr_16, r"(a+)+", r"a", Some((0, 1)), Some((0, 1))); 797 mat!(match_nullsubexpr_17, r"(a+)+", r"x", None); 798 mat!(match_nullsubexpr_18, r"(a+)+", r"aaaaaa", Some((0, 6)), Some((0, 6))); 799 mat!(match_nullsubexpr_19, r"(a+)+", r"aaaaaax", Some((0, 6)), Some((0, 6))); 800 mat!(match_nullsubexpr_21, r"([a]*)*", r"a", Some((0, 1)), Some((0, 1))); 801 mat!(match_nullsubexpr_23, r"([a]*)*", r"x", Some((0, 0)), None); 802 mat!(match_nullsubexpr_24, r"([a]*)*", r"aaaaaa", Some((0, 6)), Some((0, 6))); 803 mat!(match_nullsubexpr_25, r"([a]*)*", r"aaaaaax", Some((0, 6)), Some((0, 6))); 804 mat!(match_nullsubexpr_26, r"([a]*)+", r"a", Some((0, 1)), Some((0, 1))); 805 mat!(match_nullsubexpr_27, r"([a]*)+", r"x", Some((0, 0)), Some((0, 0))); 806 mat!(match_nullsubexpr_28, r"([a]*)+", r"aaaaaa", Some((0, 6)), Some((0, 6))); 807 mat!(match_nullsubexpr_29, r"([a]*)+", r"aaaaaax", Some((0, 6)), Some((0, 6))); 808 mat!(match_nullsubexpr_30, r"([^b]*)*", r"a", Some((0, 1)), Some((0, 1))); 809 mat!(match_nullsubexpr_32, r"([^b]*)*", r"b", Some((0, 0)), None); 810 mat!(match_nullsubexpr_33, r"([^b]*)*", r"aaaaaa", Some((0, 6)), Some((0, 6))); 811 mat!( 812 match_nullsubexpr_34, 813 r"([^b]*)*", 814 r"aaaaaab", 815 Some((0, 6)), 816 Some((0, 6)) 817 ); 818 mat!(match_nullsubexpr_35, r"([ab]*)*", r"a", Some((0, 1)), Some((0, 1))); 819 mat!(match_nullsubexpr_36, r"([ab]*)*", r"aaaaaa", Some((0, 6)), Some((0, 6))); 820 mat!(match_nullsubexpr_37, r"([ab]*)*", r"ababab", Some((0, 6)), Some((0, 6))); 821 mat!(match_nullsubexpr_38, r"([ab]*)*", r"bababa", Some((0, 6)), Some((0, 6))); 822 mat!(match_nullsubexpr_39, r"([ab]*)*", r"b", Some((0, 1)), Some((0, 1))); 823 mat!(match_nullsubexpr_40, r"([ab]*)*", r"bbbbbb", Some((0, 6)), Some((0, 6))); 824 mat!( 825 match_nullsubexpr_41, 826 r"([ab]*)*", 827 r"aaaabcde", 828 Some((0, 5)), 829 Some((0, 5)) 830 ); 831 mat!(match_nullsubexpr_42, r"([^a]*)*", r"b", Some((0, 1)), Some((0, 1))); 832 mat!(match_nullsubexpr_43, r"([^a]*)*", r"bbbbbb", Some((0, 6)), Some((0, 6))); 833 mat!(match_nullsubexpr_45, r"([^a]*)*", r"aaaaaa", Some((0, 0)), None); 834 mat!( 835 match_nullsubexpr_46, 836 r"([^ab]*)*", 837 r"ccccxx", 838 Some((0, 6)), 839 Some((0, 6)) 840 ); 841 mat!(match_nullsubexpr_48, r"([^ab]*)*", r"ababab", Some((0, 0)), None); 842 mat!( 843 match_nullsubexpr_50, 844 r"((z)+|a)*", 845 r"zabcde", 846 Some((0, 2)), 847 Some((1, 2)) 848 ); 849 mat!( 850 match_nullsubexpr_69, 851 r"(a*)*(x)", 852 r"x", 853 Some((0, 1)), 854 None, 855 Some((0, 1)) 856 ); 857 mat!( 858 match_nullsubexpr_70, 859 r"(a*)*(x)", 860 r"ax", 861 Some((0, 2)), 862 Some((0, 1)), 863 Some((1, 2)) 864 ); 865 mat!( 866 match_nullsubexpr_71, 867 r"(a*)*(x)", 868 r"axa", 869 Some((0, 2)), 870 Some((0, 1)), 871 Some((1, 2)) 872 ); 873 mat!( 874 match_nullsubexpr_73, 875 r"(a*)+(x)", 876 r"x", 877 Some((0, 1)), 878 Some((0, 0)), 879 Some((0, 1)) 880 ); 881 mat!( 882 match_nullsubexpr_74, 883 r"(a*)+(x)", 884 r"ax", 885 Some((0, 2)), 886 Some((0, 1)), 887 Some((1, 2)) 888 ); 889 mat!( 890 match_nullsubexpr_75, 891 r"(a*)+(x)", 892 r"axa", 893 Some((0, 2)), 894 Some((0, 1)), 895 Some((1, 2)) 896 ); 897 mat!( 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 ); 905 mat!( 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 ); 913 mat!( 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 923 mat!(match_repetition_10, r"((..)|(.))", r"", None); 924 mat!(match_repetition_11, r"((..)|(.))((..)|(.))", r"", None); 925 mat!(match_repetition_12, r"((..)|(.))((..)|(.))((..)|(.))", r"", None); 926 mat!(match_repetition_14, r"((..)|(.)){1}", r"", None); 927 mat!(match_repetition_15, r"((..)|(.)){2}", r"", None); 928 mat!(match_repetition_16, r"((..)|(.)){3}", r"", None); 929 mat!(match_repetition_18, r"((..)|(.))*", r"", Some((0, 0))); 930 mat!( 931 match_repetition_20, 932 r"((..)|(.))", 933 r"a", 934 Some((0, 1)), 935 Some((0, 1)), 936 None, 937 Some((0, 1)) 938 ); 939 mat!(match_repetition_21, r"((..)|(.))((..)|(.))", r"a", None); 940 mat!(match_repetition_22, r"((..)|(.))((..)|(.))((..)|(.))", r"a", None); 941 mat!( 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 ); 950 mat!(match_repetition_25, r"((..)|(.)){2}", r"a", None); 951 mat!(match_repetition_26, r"((..)|(.)){3}", r"a", None); 952 mat!( 953 match_repetition_28, 954 r"((..)|(.))*", 955 r"a", 956 Some((0, 1)), 957 Some((0, 1)), 958 None, 959 Some((0, 1)) 960 ); 961 mat!( 962 match_repetition_30, 963 r"((..)|(.))", 964 r"aa", 965 Some((0, 2)), 966 Some((0, 2)), 967 Some((0, 2)), 968 None 969 ); 970 mat!( 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 ); 982 mat!(match_repetition_32, r"((..)|(.))((..)|(.))((..)|(.))", r"aa", None); 983 mat!( 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 ); 992 mat!( 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 ); 1001 mat!(match_repetition_36, r"((..)|(.)){3}", r"aa", None); 1002 mat!( 1003 match_repetition_38, 1004 r"((..)|(.))*", 1005 r"aa", 1006 Some((0, 2)), 1007 Some((0, 2)), 1008 Some((0, 2)), 1009 None 1010 ); 1011 mat!( 1012 match_repetition_40, 1013 r"((..)|(.))", 1014 r"aaa", 1015 Some((0, 2)), 1016 Some((0, 2)), 1017 Some((0, 2)), 1018 None 1019 ); 1020 mat!( 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 ); 1032 mat!( 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 ); 1047 mat!( 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 ); 1056 mat!( 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 ); 1065 mat!( 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 ); 1074 mat!( 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 ); 1083 mat!( 1084 match_repetition_52, 1085 r"((..)|(.))", 1086 r"aaaa", 1087 Some((0, 2)), 1088 Some((0, 2)), 1089 Some((0, 2)), 1090 None 1091 ); 1092 mat!( 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 ); 1104 mat!( 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 ); 1119 mat!( 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 ); 1128 mat!( 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 ); 1137 mat!( 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 ); 1146 mat!( 1147 match_repetition_61, 1148 r"((..)|(.))*", 1149 r"aaaa", 1150 Some((0, 4)), 1151 Some((2, 4)), 1152 Some((2, 4)), 1153 None 1154 ); 1155 mat!( 1156 match_repetition_63, 1157 r"((..)|(.))", 1158 r"aaaaa", 1159 Some((0, 2)), 1160 Some((0, 2)), 1161 Some((0, 2)), 1162 None 1163 ); 1164 mat!( 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 ); 1176 mat!( 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 ); 1191 mat!( 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 ); 1200 mat!( 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 ); 1209 mat!( 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 ); 1218 mat!( 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 ); 1227 mat!( 1228 match_repetition_75, 1229 r"((..)|(.))", 1230 r"aaaaaa", 1231 Some((0, 2)), 1232 Some((0, 2)), 1233 Some((0, 2)), 1234 None 1235 ); 1236 mat!( 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 ); 1248 mat!( 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 ); 1263 mat!( 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 ); 1272 mat!( 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 ); 1281 mat!( 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 ); 1290 mat!( 1291 match_repetition_83, 1292 r"((..)|(.))*", 1293 r"aaaaaa", 1294 Some((0, 6)), 1295 Some((4, 6)), 1296 Some((4, 6)), 1297 None 1298 ); 1299 mat!( 1300 match_repetition_90, 1301 r"X(.?){0,}Y", 1302 r"X1234567Y", 1303 Some((0, 9)), 1304 Some((7, 8)) 1305 ); 1306 mat!( 1307 match_repetition_91, 1308 r"X(.?){1,}Y", 1309 r"X1234567Y", 1310 Some((0, 9)), 1311 Some((7, 8)) 1312 ); 1313 mat!( 1314 match_repetition_92, 1315 r"X(.?){2,}Y", 1316 r"X1234567Y", 1317 Some((0, 9)), 1318 Some((7, 8)) 1319 ); 1320 mat!( 1321 match_repetition_93, 1322 r"X(.?){3,}Y", 1323 r"X1234567Y", 1324 Some((0, 9)), 1325 Some((7, 8)) 1326 ); 1327 mat!( 1328 match_repetition_94, 1329 r"X(.?){4,}Y", 1330 r"X1234567Y", 1331 Some((0, 9)), 1332 Some((7, 8)) 1333 ); 1334 mat!( 1335 match_repetition_95, 1336 r"X(.?){5,}Y", 1337 r"X1234567Y", 1338 Some((0, 9)), 1339 Some((7, 8)) 1340 ); 1341 mat!( 1342 match_repetition_96, 1343 r"X(.?){6,}Y", 1344 r"X1234567Y", 1345 Some((0, 9)), 1346 Some((7, 8)) 1347 ); 1348 mat!( 1349 match_repetition_97, 1350 r"X(.?){7,}Y", 1351 r"X1234567Y", 1352 Some((0, 9)), 1353 Some((7, 8)) 1354 ); 1355 mat!( 1356 match_repetition_98, 1357 r"X(.?){8,}Y", 1358 r"X1234567Y", 1359 Some((0, 9)), 1360 Some((8, 8)) 1361 ); 1362 mat!( 1363 match_repetition_100, 1364 r"X(.?){0,8}Y", 1365 r"X1234567Y", 1366 Some((0, 9)), 1367 Some((8, 8)) 1368 ); 1369 mat!( 1370 match_repetition_102, 1371 r"X(.?){1,8}Y", 1372 r"X1234567Y", 1373 Some((0, 9)), 1374 Some((8, 8)) 1375 ); 1376 mat!( 1377 match_repetition_104, 1378 r"X(.?){2,8}Y", 1379 r"X1234567Y", 1380 Some((0, 9)), 1381 Some((8, 8)) 1382 ); 1383 mat!( 1384 match_repetition_106, 1385 r"X(.?){3,8}Y", 1386 r"X1234567Y", 1387 Some((0, 9)), 1388 Some((8, 8)) 1389 ); 1390 mat!( 1391 match_repetition_108, 1392 r"X(.?){4,8}Y", 1393 r"X1234567Y", 1394 Some((0, 9)), 1395 Some((8, 8)) 1396 ); 1397 mat!( 1398 match_repetition_110, 1399 r"X(.?){5,8}Y", 1400 r"X1234567Y", 1401 Some((0, 9)), 1402 Some((8, 8)) 1403 ); 1404 mat!( 1405 match_repetition_112, 1406 r"X(.?){6,8}Y", 1407 r"X1234567Y", 1408 Some((0, 9)), 1409 Some((8, 8)) 1410 ); 1411 mat!( 1412 match_repetition_114, 1413 r"X(.?){7,8}Y", 1414 r"X1234567Y", 1415 Some((0, 9)), 1416 Some((8, 8)) 1417 ); 1418 mat!( 1419 match_repetition_115, 1420 r"X(.?){8,8}Y", 1421 r"X1234567Y", 1422 Some((0, 9)), 1423 Some((8, 8)) 1424 ); 1425 mat!( 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 ); 1433 mat!( 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 ); 1441 mat!( 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 ); 1449 mat!( 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 ); 1457 mat!(match_repetition_130, r"(a|ab|c|bcd){4,}(d*)", r"ababcd", None); 1458 mat!( 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 ); 1466 mat!( 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 ); 1474 mat!( 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 ); 1482 mat!( 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 ); 1490 mat!(match_repetition_135, r"(a|ab|c|bcd){4,10}(d*)", r"ababcd", None); 1491 mat!( 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 ); 1499 mat!( 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 ); 1507 mat!( 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 ); 1515 mat!( 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 ); 1523 mat!( 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 ); 1531 mat!( 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 ); 1539 mat!(match_repetition_150, r"(ab|a|c|bcd){4,}(d*)", r"ababcd", None); 1540 mat!( 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 ); 1548 mat!( 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 ); 1556 mat!( 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 ); 1564 mat!( 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 ); 1572 mat!(match_repetition_159, r"(ab|a|c|bcd){4,10}(d*)", r"ababcd", None); 1573 mat!( 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 ); 1581 mat!( 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 ); 1589