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