# !!! DO NOT EDIT !!!
# Automatically generated by 'regex-cli generate fowler'.
# Numbers in the test names correspond to the line number of the test from
# the original dat file.

[[test]]
name = "basic3"
regex = '''abracadabra$'''
haystack = '''abracadabracadabra'''
matches = [[[7, 18]]]
match-limit = 1

[[test]]
name = "basic4"
regex = '''a...b'''
haystack = '''abababbb'''
matches = [[[2, 7]]]
match-limit = 1

[[test]]
name = "basic5"
regex = '''XXXXXX'''
haystack = '''..XXXXXX'''
matches = [[[2, 8]]]
match-limit = 1

[[test]]
name = "basic6"
regex = '''\)'''
haystack = '''()'''
matches = [[[1, 2]]]
match-limit = 1

[[test]]
name = "basic7"
regex = '''a]'''
haystack = '''a]a'''
matches = [[[0, 2]]]
match-limit = 1
anchored = true

[[test]]
name = "basic9"
regex = '''\}'''
haystack = '''}'''
matches = [[[0, 1]]]
match-limit = 1
anchored = true

[[test]]
name = "basic10"
regex = '''\]'''
haystack = ''']'''
matches = [[[0, 1]]]
match-limit = 1
anchored = true

[[test]]
name = "basic12"
regex = ''']'''
haystack = ''']'''
matches = [[[0, 1]]]
match-limit = 1
anchored = true

[[test]]
name = "basic15"
regex = '''^a'''
haystack = '''ax'''
matches = [[[0, 1]]]
match-limit = 1
anchored = true

[[test]]
name = "basic16"
regex = '''\^a'''
haystack = '''a^a'''
matches = [[[1, 3]]]
match-limit = 1

[[test]]
name = "basic17"
regex = '''a\^'''
haystack = '''a^'''
matches = [[[0, 2]]]
match-limit = 1
anchored = true

[[test]]
name = "basic18"
regex = '''a$'''
haystack = '''aa'''
matches = [[[1, 2]]]
match-limit = 1

[[test]]
name = "basic19"
regex = '''a\$'''
haystack = '''a$'''
matches = [[[0, 2]]]
match-limit = 1
anchored = true

[[test]]
name = "basic20"
regex = '''^$'''
haystack = ''''''
matches = [[[0, 0]]]
match-limit = 1
anchored = true

[[test]]
name = "basic21"
regex = '''$^'''
haystack = ''''''
matches = [[[0, 0]]]
match-limit = 1
anchored = true

[[test]]
name = "basic22"
regex = '''a($)'''
haystack = '''aa'''
matches = [[[1, 2], [2, 2]]]
match-limit = 1

[[test]]
name = "basic23"
regex = '''a*(^a)'''
haystack = '''aa'''
matches = [[[0, 1], [0, 1]]]
match-limit = 1
anchored = true

[[test]]
name = "basic24"
regex = '''(..)*(...)*'''
haystack = '''a'''
matches = [[[0, 0], [], []]]
match-limit = 1
anchored = true

[[test]]
name = "basic25"
regex = '''(..)*(...)*'''
haystack = '''abcd'''
matches = [[[0, 4], [2, 4], []]]
match-limit = 1
anchored = true

[[test]]
name = "basic26"
regex = '''(ab|a)(bc|c)'''
haystack = '''abc'''
matches = [[[0, 3], [0, 2], [2, 3]]]
match-limit = 1
anchored = true

[[test]]
name = "basic27"
regex = '''(ab)c|abc'''
haystack = '''abc'''
matches = [[[0, 3], [0, 2]]]
match-limit = 1
anchored = true

[[test]]
name = "basic28"
regex = '''a{0}b'''
haystack = '''ab'''
matches = [[[1, 2]]]
match-limit = 1

[[test]]
name = "basic29"
regex = '''(a*)(b?)(b+)b{3}'''
haystack = '''aaabbbbbbb'''
matches = [[[0, 10], [0, 3], [3, 4], [4, 7]]]
match-limit = 1
anchored = true

[[test]]
name = "basic30"
regex = '''(a*)(b{0,1})(b{1,})b{3}'''
haystack = '''aaabbbbbbb'''
matches = [[[0, 10], [0, 3], [3, 4], [4, 7]]]
match-limit = 1
anchored = true

[[test]]
name = "basic32"
regex = '''((a|a)|a)'''
haystack = '''a'''
matches = [[[0, 1], [0, 1], [0, 1]]]
match-limit = 1
anchored = true

[[test]]
name = "basic33"
regex = '''(a*)(a|aa)'''
haystack = '''aaaa'''
matches = [[[0, 4], [0, 3], [3, 4]]]
match-limit = 1
anchored = true

[[test]]
name = "basic34"
regex = '''a*(a.|aa)'''
haystack = '''aaaa'''
matches = [[[0, 4], [2, 4]]]
match-limit = 1
anchored = true

[[test]]
name = "basic35"
regex = '''a(b)|c(d)|a(e)f'''
haystack = '''aef'''
matches = [[[0, 3], [], [], [1, 2]]]
match-limit = 1
anchored = true

[[test]]
name = "basic36"
regex = '''(a|b)?.*'''
haystack = '''b'''
matches = [[[0, 1], [0, 1]]]
match-limit = 1
anchored = true

[[test]]
name = "basic37"
regex = '''(a|b)c|a(b|c)'''
haystack = '''ac'''
matches = [[[0, 2], [0, 1], []]]
match-limit = 1
anchored = true

[[test]]
name = "basic38"
regex = '''(a|b)c|a(b|c)'''
haystack = '''ab'''
matches = [[[0, 2], [], [1, 2]]]
match-limit = 1
anchored = true

[[test]]
name = "basic39"
regex = '''(a|b)*c|(a|ab)*c'''
haystack = '''abc'''
matches = [[[0, 3], [1, 2], []]]
match-limit = 1
anchored = true

[[test]]
name = "basic40"
regex = '''(a|b)*c|(a|ab)*c'''
haystack = '''xc'''
matches = [[[1, 2], [], []]]
match-limit = 1

[[test]]
name = "basic41"
regex = '''(.a|.b).*|.*(.a|.b)'''
haystack = '''xa'''
matches = [[[0, 2], [0, 2], []]]
match-limit = 1
anchored = true

[[test]]
name = "basic42"
regex = '''a?(ab|ba)ab'''
haystack = '''abab'''
matches = [[[0, 4], [0, 2]]]
match-limit = 1
anchored = true

[[test]]
name = "basic43"
regex = '''a?(ac{0}b|ba)ab'''
haystack = '''abab'''
matches = [[[0, 4], [0, 2]]]
match-limit = 1
anchored = true

[[test]]
name = "basic44"
regex = '''ab|abab'''
haystack = '''abbabab'''
matches = [[[0, 2]]]
match-limit = 1
anchored = true

[[test]]
name = "basic45"
regex = '''aba|bab|bba'''
haystack = '''baaabbbaba'''
matches = [[[5, 8]]]
match-limit = 1

[[test]]
name = "basic46"
regex = '''aba|bab'''
haystack = '''baaabbbaba'''
matches = [[[6, 9]]]
match-limit = 1

[[test]]
name = "basic47"
regex = '''(aa|aaa)*|(a|aaaaa)'''
haystack = '''aa'''
matches = [[[0, 2], [0, 2], []]]
match-limit = 1
anchored = true

[[test]]
name = "basic48"
regex = '''(a.|.a.)*|(a|.a...)'''
haystack = '''aa'''
matches = [[[0, 2], [0, 2], []]]
match-limit = 1
anchored = true

[[test]]
name = "basic49"
regex = '''ab|a'''
haystack = '''xabc'''
matches = [[[1, 3]]]
match-limit = 1

[[test]]
name = "basic50"
regex = '''ab|a'''
haystack = '''xxabc'''
matches = [[[2, 4]]]
match-limit = 1

[[test]]
name = "basic51"
regex = '''(Ab|cD)*'''
haystack = '''aBcD'''
matches = [[[0, 4], [2, 4]]]
match-limit = 1
anchored = true
case-insensitive = true

[[test]]
name = "basic52"
regex = '''[^-]'''
haystack = '''--a'''
matches = [[[2, 3]]]
match-limit = 1

[[test]]
name = "basic53"
regex = '''[a-]*'''
haystack = '''--a'''
matches = [[[0, 3]]]
match-limit = 1
anchored = true

[[test]]
name = "basic54"
regex = '''[a-m-]*'''
haystack = '''--amoma--'''
matches = [[[0, 4]]]
match-limit = 1
anchored = true

[[test]]
name = "basic55"
regex = ''':::1:::0:|:::1:1:0:'''
haystack = ''':::0:::1:::1:::0:'''
matches = [[[8, 17]]]
match-limit = 1

[[test]]
name = "basic56"
regex = ''':::1:::0:|:::1:1:1:'''
haystack = ''':::0:::1:::1:::0:'''
matches = [[[8, 17]]]
match-limit = 1

[[test]]
name = "basic57"
regex = '''[[:upper:]]'''
haystack = '''A'''
matches = [[[0, 1]]]
match-limit = 1
anchored = true

[[test]]
name = "basic58"
regex = '''[[:lower:]]+'''
haystack = '''`az{'''
matches = [[[1, 3]]]
match-limit = 1

[[test]]
name = "basic59"
regex = '''[[:upper:]]+'''
haystack = '''@AZ['''
matches = [[[1, 3]]]
match-limit = 1

[[test]]
name = "basic65"
regex = '''\n'''
haystack = '''\n'''
matches = [[[0, 1]]]
match-limit = 1
anchored = true
unescape = true

[[test]]
name = "basic66"
regex = '''\n'''
haystack = '''\n'''
matches = [[[0, 1]]]
match-limit = 1
anchored = true
unescape = true

[[test]]
name = "basic67"
regex = '''[^a]'''
haystack = '''\n'''
matches = [[[0, 1]]]
match-limit = 1
anchored = true
unescape = true

[[test]]
name = "basic68"
regex = '''\na'''
haystack = '''\na'''
matches = [[[0, 2]]]
match-limit = 1
anchored = true
unescape = true

[[test]]
name = "basic69"
regex = '''(a)(b)(c)'''
haystack = '''abc'''
matches = [[[0, 3], [0, 1], [1, 2], [2, 3]]]
match-limit = 1
anchored = true

[[test]]
name = "basic70"
regex = '''xxx'''
haystack = '''xxx'''
matches = [[[0, 3]]]
match-limit = 1
anchored = true

# Test added by Rust regex project.
[[test]]
name = "basic72"
regex = '''(?:^|[ (,;])(?:(?:(?:[Ff]eb[^ ]* *|0*2/|\* */?)0*[6-7]))(?:[^0-9]|$)'''
haystack = '''feb 6,'''
matches = [[[0, 6]]]
match-limit = 1
anchored = true

# Test added by Rust regex project.
[[test]]
name = "basic74"
regex = '''(?:^|[ (,;])(?:(?:(?:[Ff]eb[^ ]* *|0*2/|\* */?)0*[6-7]))(?:[^0-9]|$)'''
haystack = '''2/7'''
matches = [[[0, 3]]]
match-limit = 1
anchored = true

# Test added by Rust regex project.
[[test]]
name = "basic76"
regex = '''(?:^|[ (,;])(?:(?:(?:[Ff]eb[^ ]* *|0*2/|\* */?)0*[6-7]))(?:[^0-9]|$)'''
haystack = '''feb 1,Feb 6'''
matches = [[[5, 11]]]
match-limit = 1

# Test added by Rust regex project.
[[test]]
name = "basic78"
regex = '''(((?:(?:(?:(?:(?:(?:(?:(?:(?:(?:(?:(?:(?:(?:(?:(?:(?:(?:(?:(?:(?:(?:(?:(?:(?:(?:(?:(?:x))))))))))))))))))))))))))))))'''
haystack = '''x'''
matches = [[[0, 1], [0, 1], [0, 1]]]
match-limit = 1
anchored = true

# Test added by Rust regex project.
[[test]]
name = "basic80"
regex = '''(((?:(?:(?:(?:(?:(?:(?:(?:(?:(?:(?:(?:(?:(?:(?:(?:(?:(?:(?:(?:(?:(?:(?:(?:(?:(?:(?:(?:x))))))))))))))))))))))))))))))*'''
haystack = '''xx'''
matches = [[[0, 2], [1, 2], [1, 2]]]
match-limit = 1
anchored = true

[[test]]
name = "basic81"
regex = '''a?(ab|ba)*'''
haystack = '''ababababababababababababababababababababababababababababababababababababababababa'''
matches = [[[0, 81], [79, 81]]]
match-limit = 1
anchored = true

[[test]]
name = "basic82"
regex = '''abaa|abbaa|abbbaa|abbbbaa'''
haystack = '''ababbabbbabbbabbbbabbbbaa'''
matches = [[[18, 25]]]
match-limit = 1

[[test]]
name = "basic83"
regex = '''abaa|abbaa|abbbaa|abbbbaa'''
haystack = '''ababbabbbabbbabbbbabaa'''
matches = [[[18, 22]]]
match-limit = 1

[[test]]
name = "basic84"
regex = '''aaac|aabc|abac|abbc|baac|babc|bbac|bbbc'''
haystack = '''baaabbbabac'''
matches = [[[7, 11]]]
match-limit = 1

# Test added by Rust regex project.
[[test]]
name = "basic86"
regex = '''.*'''
haystack = '''\x01\x7f'''
matches = [[[0, 2]]]
match-limit = 1
anchored = true
unescape = true

[[test]]
name = "basic87"
regex = '''aaaa|bbbb|cccc|ddddd|eeeeee|fffffff|gggg|hhhh|iiiii|jjjjj|kkkkk|llll'''
haystack = '''XaaaXbbbXcccXdddXeeeXfffXgggXhhhXiiiXjjjXkkkXlllXcbaXaaaa'''
matches = [[[53, 57]]]
match-limit = 1

[[test]]
name = "basic89"
regex = '''a*a*a*a*a*b'''
haystack = '''aaaaaaaaab'''
matches = [[[0, 10]]]
match-limit = 1
anchored = true

[[test]]
name = "basic90"
regex = '''^'''
haystack = ''''''
matches = [[[0, 0]]]
match-limit = 1
anchored = true

[[test]]
name = "basic91"
regex = '''$'''
haystack = ''''''
matches = [[[0, 0]]]
match-limit = 1
anchored = true

[[test]]
name = "basic92"
regex = '''^$'''
haystack = ''''''
matches = [[[0, 0]]]
match-limit = 1
anchored = true

[[test]]
name = "basic93"
regex = '''^a$'''
haystack = '''a'''
matches = [[[0, 1]]]
match-limit = 1
anchored = true

[[test]]
name = "basic94"
regex = '''abc'''
haystack = '''abc'''
matches = [[[0, 3]]]
match-limit = 1
anchored = true

[[test]]
name = "basic95"
regex = '''abc'''
haystack = '''xabcy'''
matches = [[[1, 4]]]
match-limit = 1

[[test]]
name = "basic96"
regex = '''abc'''
haystack = '''ababc'''
matches = [[[2, 5]]]
match-limit = 1

[[test]]
name = "basic97"
regex = '''ab*c'''
haystack = '''abc'''
matches = [[[0, 3]]]
match-limit = 1
anchored = true

[[test]]
name = "basic98"
regex = '''ab*bc'''
haystack = '''abc'''
matches = [[[0, 3]]]
match-limit = 1
anchored = true

[[test]]
name = "basic99"
regex = '''ab*bc'''
haystack = '''abbc'''
matches = [[[0, 4]]]
match-limit = 1
anchored = true

[[test]]
name = "basic100"
regex = '''ab*bc'''
haystack = '''abbbbc'''
matches = [[[0, 6]]]
match-limit = 1
anchored = true

[[test]]
name = "basic101"
regex = '''ab+bc'''
haystack = '''abbc'''
matches = [[[0, 4]]]
match-limit = 1
anchored = true

[[test]]
name = "basic102"
regex = '''ab+bc'''
haystack = '''abbbbc'''
matches = [[[0, 6]]]
match-limit = 1
anchored = true

[[test]]
name = "basic103"
regex = '''ab?bc'''
haystack = '''abbc'''
matches = [[[0, 4]]]
match-limit = 1
anchored = true

[[test]]
name = "basic104"
regex = '''ab?bc'''
haystack = '''abc'''
matches = [[[0, 3]]]
match-limit = 1
anchored = true

[[test]]
name = "basic105"
regex = '''ab?c'''
haystack = '''abc'''
matches = [[[0, 3]]]
match-limit = 1
anchored = true

[[test]]
name = "basic106"
regex = '''^abc$'''
haystack = '''abc'''
matches = [[[0, 3]]]
match-limit = 1
anchored = true

[[test]]
name = "basic107"
regex = '''^abc'''
haystack = '''abcc'''
matches = [[[0, 3]]]
match-limit = 1
anchored = true

[[test]]
name = "basic108"
regex = '''abc$'''
haystack = '''aabc'''
matches = [[[1, 4]]]
match-limit = 1

[[test]]
name = "basic109"
regex = '''^'''
haystack = '''abc'''
matches = [[[0, 0]]]
match-limit = 1
anchored = true

[[test]]
name = "basic110"
regex = '''$'''
haystack = '''abc'''
matches = [[[3, 3]]]
match-limit = 1

[[test]]
name = "basic111"
regex = '''a.c'''
haystack = '''abc'''
matches = [[[0, 3]]]
match-limit = 1
anchored = true

[[test]]
name = "basic112"
regex = '''a.c'''
haystack = '''axc'''
matches = [[[0, 3]]]
match-limit = 1
anchored = true

[[test]]
name = "basic113"
regex = '''a.*c'''
haystack = '''axyzc'''
matches = [[[0, 5]]]
match-limit = 1
anchored = true

[[test]]
name = "basic114"
regex = '''a[bc]d'''
haystack = '''abd'''
matches = [[[0, 3]]]
match-limit = 1
anchored = true

[[test]]
name = "basic115"
regex = '''a[b-d]e'''
haystack = '''ace'''
matches = [[[0, 3]]]
match-limit = 1
anchored = true

[[test]]
name = "basic116"
regex = '''a[b-d]'''
haystack = '''aac'''
matches = [[[1, 3]]]
match-limit = 1

[[test]]
name = "basic117"
regex = '''a[-b]'''
haystack = '''a-'''
matches = [[[0, 2]]]
match-limit = 1
anchored = true

[[test]]
name = "basic118"
regex = '''a[b-]'''
haystack = '''a-'''
matches = [[[0, 2]]]
match-limit = 1
anchored = true

[[test]]
name = "basic119"
regex = '''a]'''
haystack = '''a]'''
matches = [[[0, 2]]]
match-limit = 1
anchored = true

[[test]]
name = "basic120"
regex = '''a[]]b'''
haystack = '''a]b'''
matches = [[[0, 3]]]
match-limit = 1
anchored = true

[[test]]
name = "basic121"
regex = '''a[^bc]d'''
haystack = '''aed'''
matches = [[[0, 3]]]
match-limit = 1
anchored = true

[[test]]
name = "basic122"
regex = '''a[^-b]c'''
haystack = '''adc'''
matches = [[[0, 3]]]
match-limit = 1
anchored = true

[[test]]
name = "basic123"
regex = '''a[^]b]c'''
haystack = '''adc'''
matches = [[[0, 3]]]
match-limit = 1
anchored = true

[[test]]
name = "basic124"
regex = '''ab|cd'''
haystack = '''abc'''
matches = [[[0, 2]]]
match-limit = 1
anchored = true

[[test]]
name = "basic125"
regex = '''ab|cd'''
haystack = '''abcd'''
matches = [[[0, 2]]]
match-limit = 1
anchored = true

[[test]]
name = "basic126"
regex = '''a\(b'''
haystack = '''a(b'''
matches = [[[0, 3]]]
match-limit = 1
anchored = true

[[test]]
name = "basic127"
regex = '''a\(*b'''
haystack = '''ab'''
matches = [[[0, 2]]]
match-limit = 1
anchored = true

[[test]]
name = "basic128"
regex = '''a\(*b'''
haystack = '''a((b'''
matches = [[[0, 4]]]
match-limit = 1
anchored = true

[[test]]
name = "basic129"
regex = '''((a))'''
haystack = '''abc'''
matches = [[[0, 1], [0, 1], [0, 1]]]
match-limit = 1
anchored = true

[[test]]
name = "basic130"
regex = '''(a)b(c)'''
haystack = '''abc'''
matches = [[[0, 3], [0, 1], [2, 3]]]
match-limit = 1
anchored = true

[[test]]
name = "basic131"
regex = '''a+b+c'''
haystack = '''aabbabc'''
matches = [[[4, 7]]]
match-limit = 1

[[test]]
name = "basic132"
regex = '''a*'''
haystack = '''aaa'''
matches = [[[0, 3]]]
match-limit = 1
anchored = true

[[test]]
name = "basic133"
regex = '''(a*)*'''
haystack = '''-'''
matches = [[[0, 0], [0, 0]]]
match-limit = 1
anchored = true

[[test]]
name = "basic134"
regex = '''(a*)+'''
haystack = '''-'''
matches = [[[0, 0], [0, 0]]]
match-limit = 1
anchored = true

[[test]]
name = "basic135"
regex = '''(a*|b)*'''
haystack = '''-'''
matches = [[[0, 0], [0, 0]]]
match-limit = 1
anchored = true

[[test]]
name = "basic136"
regex = '''(a+|b)*'''
haystack = '''ab'''
matches = [[[0, 2], [1, 2]]]
match-limit = 1
anchored = true

[[test]]
name = "basic137"
regex = '''(a+|b)+'''
haystack = '''ab'''
matches = [[[0, 2], [1, 2]]]
match-limit = 1
anchored = true

[[test]]
name = "basic138"
regex = '''(a+|b)?'''
haystack = '''ab'''
matches = [[[0, 1], [0, 1]]]
match-limit = 1
anchored = true

[[test]]
name = "basic139"
regex = '''[^ab]*'''
haystack = '''cde'''
matches = [[[0, 3]]]
match-limit = 1
anchored = true

[[test]]
name = "basic140"
regex = '''(^)*'''
haystack = '''-'''
matches = [[[0, 0], [0, 0]]]
match-limit = 1
anchored = true

[[test]]
name = "basic141"
regex = '''a*'''
haystack = ''''''
matches = [[[0, 0]]]
match-limit = 1
anchored = true

[[test]]
name = "basic142"
regex = '''([abc])*d'''
haystack = '''abbbcd'''
matches = [[[0, 6], [4, 5]]]
match-limit = 1
anchored = true

[[test]]
name = "basic143"
regex = '''([abc])*bcd'''
haystack = '''abcd'''
matches = [[[0, 4], [0, 1]]]
match-limit = 1
anchored = true

[[test]]
name = "basic144"
regex = '''a|b|c|d|e'''
haystack = '''e'''
matches = [[[0, 1]]]
match-limit = 1
anchored = true

[[test]]
name = "basic145"
regex = '''(a|b|c|d|e)f'''
haystack = '''ef'''
matches = [[[0, 2], [0, 1]]]
match-limit = 1
anchored = true

[[test]]
name = "basic146"
regex = '''((a*|b))*'''
haystack = '''-'''
matches = [[[0, 0], [0, 0], [0, 0]]]
match-limit = 1
anchored = true

[[test]]
name = "basic147"
regex = '''abcd*efg'''
haystack = '''abcdefg'''
matches = [[[0, 7]]]
match-limit = 1
anchored = true

[[test]]
name = "basic148"
regex = '''ab*'''
haystack = '''xabyabbbz'''
matches = [[[1, 3]]]
match-limit = 1

[[test]]
name = "basic149"
regex = '''ab*'''
haystack = '''xayabbbz'''
matches = [[[1, 2]]]
match-limit = 1

[[test]]
name = "basic150"
regex = '''(ab|cd)e'''
haystack = '''abcde'''
matches = [[[2, 5], [2, 4]]]
match-limit = 1

[[test]]
name = "basic151"
regex = '''[abhgefdc]ij'''
haystack = '''hij'''
matches = [[[0, 3]]]
match-limit = 1
anchored = true

[[test]]
name = "basic152"
regex = '''(a|b)c*d'''
haystack = '''abcd'''
matches = [[[1, 4], [1, 2]]]
match-limit = 1

[[test]]
name = "basic153"
regex = '''(ab|ab*)bc'''
haystack = '''abc'''
matches = [[[0, 3], [0, 1]]]
match-limit = 1
anchored = true

[[test]]
name = "basic154"
regex = '''a([bc]*)c*'''
haystack = '''abc'''
matches = [[[0, 3], [1, 3]]]
match-limit = 1
anchored = true

[[test]]
name = "basic155"
regex = '''a([bc]*)(c*d)'''
haystack = '''abcd'''
matches = [[[0, 4], [1, 3], [3, 4]]]
match-limit = 1
anchored = true

[[test]]
name = "basic156"
regex = '''a([bc]+)(c*d)'''
haystack = '''abcd'''
matches = [[[0, 4], [1, 3], [3, 4]]]
match-limit = 1
anchored = true

[[test]]
name = "basic157"
regex = '''a([bc]*)(c+d)'''
haystack = '''abcd'''
matches = [[[0, 4], [1, 2], [2, 4]]]
match-limit = 1
anchored = true

[[test]]
name = "basic158"
regex = '''a[bcd]*dcdcde'''
haystack = '''adcdcde'''
matches = [[[0, 7]]]
match-limit = 1
anchored = true

[[test]]
name = "basic159"
regex = '''(ab|a)b*c'''
haystack = '''abc'''
matches = [[[0, 3], [0, 2]]]
match-limit = 1
anchored = true

[[test]]
name = "basic160"
regex = '''((a)(b)c)(d)'''
haystack = '''abcd'''
matches = [[[0, 4], [0, 3], [0, 1], [1, 2], [3, 4]]]
match-limit = 1
anchored = true

[[test]]
name = "basic161"
regex = '''[A-Za-z_][A-Za-z0-9_]*'''
haystack = '''alpha'''
matches = [[[0, 5]]]
match-limit = 1
anchored = true

[[test]]
name = "basic162"
regex = '''^a(bc+|b[eh])g|.h$'''
haystack = '''abh'''
matches = [[[1, 3], []]]
match-limit = 1

[[test]]
name = "basic163"
regex = '''(bc+d$|ef*g.|h?i(j|k))'''
haystack = '''effgz'''
matches = [[[0, 5], [0, 5], []]]
match-limit = 1
anchored = true

[[test]]
name = "basic164"
regex = '''(bc+d$|ef*g.|h?i(j|k))'''
haystack = '''ij'''
matches = [[[0, 2], [0, 2], [1, 2]]]
match-limit = 1
anchored = true

[[test]]
name = "basic165"
regex = '''(bc+d$|ef*g.|h?i(j|k))'''
haystack = '''reffgz'''
matches = [[[1, 6], [1, 6], []]]
match-limit = 1

[[test]]
name = "basic166"
regex = '''(((((((((a)))))))))'''
haystack = '''a'''
matches = [[[0, 1], [0, 1], [0, 1], [0, 1], [0, 1], [0, 1], [0, 1], [0, 1], [0, 1], [0, 1]]]
match-limit = 1
anchored = true

[[test]]
name = "basic167"
regex = '''multiple words'''
haystack = '''multiple words yeah'''
matches = [[[0, 14]]]
match-limit = 1
anchored = true

[[test]]
name = "basic168"
regex = '''(.*)c(.*)'''
haystack = '''abcde'''
matches = [[[0, 5], [0, 2], [3, 5]]]
match-limit = 1
anchored = true

[[test]]
name = "basic169"
regex = '''abcd'''
haystack = '''abcd'''
matches = [[[0, 4]]]
match-limit = 1
anchored = true

[[test]]
name = "basic170"
regex = '''a(bc)d'''
haystack = '''abcd'''
matches = [[[0, 4], [1, 3]]]
match-limit = 1
anchored = true

[[test]]
name = "basic171"
regex = '''a[\x01-\x03]?c'''
haystack = '''a\x02c'''
matches = [[[0, 3]]]
match-limit = 1
anchored = true
unescape = true

[[test]]
name = "basic172"
regex = '''M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]'''
haystack = '''Muammar Qaddafi'''
matches = [[[0, 15], [], [10, 12]]]
match-limit = 1
anchored = true

[[test]]
name = "basic173"
regex = '''M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]'''
haystack = '''Mo'ammar Gadhafi'''
matches = [[[0, 16], [], [11, 13]]]
match-limit = 1
anchored = true

[[test]]
name = "basic174"
regex = '''M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]'''
haystack = '''Muammar Kaddafi'''
matches = [[[0, 15], [], [10, 12]]]
match-limit = 1
anchored = true

[[test]]
name = "basic175"
regex = '''M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]'''
haystack = '''Muammar Qadhafi'''
matches = [[[0, 15], [], [10, 12]]]
match-limit = 1
anchored = true

[[test]]
name = "basic176"
regex = '''M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]'''
haystack = '''Muammar Gadafi'''
matches = [[[0, 14], [], [10, 11]]]
match-limit = 1
anchored = true

[[test]]
name = "basic177"
regex = '''M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]'''
haystack = '''Mu'ammar Qadafi'''
matches = [[[0, 15], [], [11, 12]]]
match-limit = 1
anchored = true

[[test]]
name = "basic178"
regex = '''M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]'''
haystack = '''Moamar Gaddafi'''
matches = [[[0, 14], [], [9, 11]]]
match-limit = 1
anchored = true

[[test]]
name = "basic179"
regex = '''M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]'''
haystack = '''Mu'ammar Qadhdhafi'''
matches = [[[0, 18], [], [13, 15]]]
match-limit = 1
anchored = true

[[test]]
name = "basic180"
regex = '''M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]'''
haystack = '''Muammar Khaddafi'''
matches = [[[0, 16], [], [11, 13]]]
match-limit = 1
anchored = true

[[test]]
name = "basic181"
regex = '''M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]'''
haystack = '''Muammar Ghaddafy'''
matches = [[[0, 16], [], [11, 13]]]
match-limit = 1
anchored = true

[[test]]
name = "basic182"
regex = '''M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]'''
haystack = '''Muammar Ghadafi'''
matches = [[[0, 15], [], [11, 12]]]
match-limit = 1
anchored = true

[[test]]
name = "basic183"
regex = '''M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]'''
haystack = '''Muammar Ghaddafi'''
matches = [[[0, 16], [], [11, 13]]]
match-limit = 1
anchored = true

[[test]]
name = "basic184"
regex = '''M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]'''
haystack = '''Muamar Kaddafi'''
matches = [[[0, 14], [], [9, 11]]]
match-limit = 1
anchored = true

[[test]]
name = "basic185"
regex = '''M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]'''
haystack = '''Muammar Quathafi'''
matches = [[[0, 16], [], [11, 13]]]
match-limit = 1
anchored = true

[[test]]
name = "basic186"
regex = '''M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]'''
haystack = '''Muammar Gheddafi'''
matches = [[[0, 16], [], [11, 13]]]
match-limit = 1
anchored = true

[[test]]
name = "basic187"
regex = '''M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]'''
haystack = '''Moammar Khadafy'''
matches = [[[0, 15], [], [11, 12]]]
match-limit = 1
anchored = true

[[test]]
name = "basic188"
regex = '''M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]'''
haystack = '''Moammar Qudhafi'''
matches = [[[0, 15], [], [10, 12]]]
match-limit = 1
anchored = true

[[test]]
name = "basic189"
regex = '''a+(b|c)*d+'''
haystack = '''aabcdd'''
matches = [[[0, 6], [3, 4]]]
match-limit = 1
anchored = true

[[test]]
name = "basic190"
regex = '''^.+$'''
haystack = '''vivi'''
matches = [[[0, 4]]]
match-limit = 1
anchored = true

[[test]]
name = "basic191"
regex = '''^(.+)$'''
haystack = '''vivi'''
matches = [[[0, 4], [0, 4]]]
match-limit = 1
anchored = true

[[test]]
name = "basic192"
regex = '''^([^!.]+).att.com!(.+)$'''
haystack = '''gryphon.att.com!eby'''
matches = [[[0, 19], [0, 7], [16, 19]]]
match-limit = 1
anchored = true

[[test]]
name = "basic193"
regex = '''^([^!]+!)?([^!]+)$'''
haystack = '''bas'''
matches = [[[0, 3], [], [0, 3]]]
match-limit = 1
anchored = true

[[test]]
name = "basic194"
regex = '''^([^!]+!)?([^!]+)$'''
haystack = '''bar!bas'''
matches = [[[0, 7], [0, 4], [4, 7]]]
match-limit = 1
anchored = true

[[test]]
name = "basic195"
regex = '''^([^!]+!)?([^!]+)$'''
haystack = '''foo!bas'''
matches = [[[0, 7], [0, 4], [4, 7]]]
match-limit = 1
anchored = true

[[test]]
name = "basic196"
regex = '''^.+!([^!]+!)([^!]+)$'''
haystack = '''foo!bar!bas'''
matches = [[[0, 11], [4, 8], [8, 11]]]
match-limit = 1
anchored = true

[[test]]
name = "basic197"
regex = '''((foo)|(bar))!bas'''
haystack = '''bar!bas'''
matches = [[[0, 7], [0, 3], [], [0, 3]]]
match-limit = 1
anchored = true

[[test]]
name = "basic198"
regex = '''((foo)|(bar))!bas'''
haystack = '''foo!bar!bas'''
matches = [[[4, 11], [4, 7], [], [4, 7]]]
match-limit = 1

[[test]]
name = "basic199"
regex = '''((foo)|(bar))!bas'''
haystack = '''foo!bas'''
matches = [[[0, 7], [0, 3], [0, 3], []]]
match-limit = 1
anchored = true

[[test]]
name = "basic200"
regex = '''((foo)|bar)!bas'''
haystack = '''bar!bas'''
matches = [[[0, 7], [0, 3], []]]
match-limit = 1
anchored = true

[[test]]
name = "basic201"
regex = '''((foo)|bar)!bas'''
haystack = '''foo!bar!bas'''
matches = [[[4, 11], [4, 7], []]]
match-limit = 1

[[test]]
name = "basic202"
regex = '''((foo)|bar)!bas'''
haystack = '''foo!bas'''
matches = [[[0, 7], [0, 3], [0, 3]]]
match-limit = 1
anchored = true

[[test]]
name = "basic203"
regex = '''(foo|(bar))!bas'''
haystack = '''bar!bas'''
matches = [[[0, 7], [0, 3], [0, 3]]]
match-limit = 1
anchored = true

[[test]]
name = "basic204"
regex = '''(foo|(bar))!bas'''
haystack = '''foo!bar!bas'''
matches = [[[4, 11], [4, 7], [4, 7]]]
match-limit = 1

[[test]]
name = "basic205"
regex = '''(foo|(bar))!bas'''
haystack = '''foo!bas'''
matches = [[[0, 7], [0, 3], []]]
match-limit = 1
anchored = true

[[test]]
name = "basic206"
regex = '''(foo|bar)!bas'''
haystack = '''bar!bas'''
matches = [[[0, 7], [0, 3]]]
match-limit = 1
anchored = true

[[test]]
name = "basic207"
regex = '''(foo|bar)!bas'''
haystack = '''foo!bar!bas'''
matches = [[[4, 11], [4, 7]]]
match-limit = 1

[[test]]
name = "basic208"
regex = '''(foo|bar)!bas'''
haystack = '''foo!bas'''
matches = [[[0, 7], [0, 3]]]
match-limit = 1
anchored = true

[[test]]
name = "basic209"
regex = '''^(([^!]+!)?([^!]+)|.+!([^!]+!)([^!]+))$'''
haystack = '''foo!bar!bas'''
matches = [[[0, 11], [0, 11], [], [], [4, 8], [8, 11]]]
match-limit = 1
anchored = true

[[test]]
name = "basic210"
regex = '''^([^!]+!)?([^!]+)$|^.+!([^!]+!)([^!]+)$'''
haystack = '''bas'''
matches = [[[0, 3], [], [0, 3], [], []]]
match-limit = 1
anchored = true

[[test]]
name = "basic211"
regex = '''^([^!]+!)?([^!]+)$|^.+!([^!]+!)([^!]+)$'''
haystack = '''bar!bas'''
matches = [[[0, 7], [0, 4], [4, 7], [], []]]
match-limit = 1
anchored = true

[[test]]
name = "basic212"
regex = '''^([^!]+!)?([^!]+)$|^.+!([^!]+!)([^!]+)$'''
haystack = '''foo!bar!bas'''
matches = [[[0, 11], [], [], [4, 8], [8, 11]]]
match-limit = 1
anchored = true

[[test]]
name = "basic213"
regex = '''^([^!]+!)?([^!]+)$|^.+!([^!]+!)([^!]+)$'''
haystack = '''foo!bas'''
matches = [[[0, 7], [0, 4], [4, 7], [], []]]
match-limit = 1
anchored = true

[[test]]
name = "basic214"
regex = '''^(([^!]+!)?([^!]+)|.+!([^!]+!)([^!]+))$'''
haystack = '''bas'''
matches = [[[0, 3], [0, 3], [], [0, 3], [], []]]
match-limit = 1
anchored = true

[[test]]
name = "basic215"
regex = '''^(([^!]+!)?([^!]+)|.+!([^!]+!)([^!]+))$'''
haystack = '''bar!bas'''
matches = [[[0, 7], [0, 7], [0, 4], [4, 7], [], []]]
match-limit = 1
anchored = true

[[test]]
name = "basic216"
regex = '''^(([^!]+!)?([^!]+)|.+!([^!]+!)([^!]+))$'''
haystack = '''foo!bar!bas'''
matches = [[[0, 11], [0, 11], [], [], [4, 8], [8, 11]]]
match-limit = 1
anchored = true

[[test]]
name = "basic217"
regex = '''^(([^!]+!)?([^!]+)|.+!([^!]+!)([^!]+))$'''
haystack = '''foo!bas'''
matches = [[[0, 7], [0, 7], [0, 4], [4, 7], [], []]]
match-limit = 1
anchored = true

[[test]]
name = "basic218"
regex = '''.*(/XXX).*'''
haystack = '''/XXX'''
matches = [[[0, 4], [0, 4]]]
match-limit = 1
anchored = true

[[test]]
name = "basic219"
regex = '''.*(\\XXX).*'''
haystack = '''\XXX'''
matches = [[[0, 4], [0, 4]]]
match-limit = 1
anchored = true

[[test]]
name = "basic220"
regex = '''\\XXX'''
haystack = '''\XXX'''
matches = [[[0, 4]]]
match-limit = 1
anchored = true

[[test]]
name = "basic221"
regex = '''.*(/000).*'''
haystack = '''/000'''
matches = [[[0, 4], [0, 4]]]
match-limit = 1
anchored = true

[[test]]
name = "basic222"
regex = '''.*(\\000).*'''
haystack = '''\000'''
matches = [[[0, 4], [0, 4]]]
match-limit = 1
anchored = true

[[test]]
name = "basic223"
regex = '''\\000'''
haystack = '''\000'''
matches = [[[0, 4]]]
match-limit = 1
anchored = true

