blob: a9f43c57b99a6f312db4a95452ce6efecfcf0132 [file] [log] [blame]
# Test data file for JavaScriptCore::RegExp functional test.
# The format of this file is:
# # comment line
# /{pattern}/{flags}
# "{string}", {offset}, {return-value}, {match-offset-vector}
# Both the pattern and string accept backslash escapes.
#
/A/
"A", 0, 0, (0, 1)
"A2", 0, 0, (0, 1)
/A2/
"A2", 0, 0, (0, 2)
/\\u0041/
"A", 0, 0, (0, 1)
/\\u00412/
"A2", 0, 0, (0, 2)
/abc/
"abc", 0, 0, (0, 3)
"xabcy", 0, 1, (1, 4)
"ababc", 0, 2, (2, 5)
"xbc", 0, -1, (-1, -1)
"axc", 0, -1, (-1, -1)
"abx", 0, -1, (-1, -1)
"b", 0, -1, (-1, -1)
/a|ab/
"abc", 0, 0, (0, 1)
/(a|d|q|)x/i
"bcaDxqy", 0, 3, (3, 5, 3, 4)
/(a|(e|q))(x|y)/
"bcaddxqy", 0, 6, (6, 8, 6, 7, 6, 7, 7, 8)
/a*b/
"aaadaabaaa", 0, 4, (4, 7)
"xxx", 0, -1, (4, 4)
/[^abc]def[abc]+/
"abxdefbb", 0, 2, (2, 8)
/(a*)baa/
"ccdaaabaxaabaa", 0, 9, (9, 14, 9, 11)
"aabaa", 0, 0, (0, 5, 0, 2)
/q(a|b)*q/
"xxqababqyy", 0, 2, (2, 8, 6, 7)
/(a(.|[^d])c)*/
"adcaxc", 0, 0, (0, 6, 3, 6, 4, 5)
/(a*)b\\1/
"abaaaxaabaayy", 0, 0, (0, 3, 0, 1)
"cccdaaabaxaabaayy", 0, 6, (6, 9, 6, 7)
"cccdaaabqxaabaayy", 0, 7, (7, 8, 7, 7)
/x1g/
"x1g", 0, 0, (0, 3)
/^x/
"x412", 0, 0, (0, 1)
/\\u001g/
"u001g", 0, 0, (0, 5)
/34/g
"343443444", 0, 0, (0, 2)
"343443444", 2, 2, (2, 4)
"343443444", 4, 5, (5, 7)
"343443444", 7, -1, (-1, -1)
/\\d{1}/g
"123456abcde7890", 0, 0, (0, 1)
"123456abcde7890", 1, 1, (1, 2)
"123456abcde7890", 2, 2, (2, 3)
"123456abcde7890", 3, 3, (3, 4)
"123456abcde7890", 4, 4, (4, 5)
"123456abcde7890", 5, 5, (5, 6)
"123456abcde7890", 6, 11, (11, 12)
"123456abcde7890", 12, 12, (12, 13)
"123456abcde7890", 13, 13, (13, 14)
"123456abcde7890", 14, 14, (14, 15)
"123456abcde7890", 15, -1, (-1, -1)
/\\d{2}/g
"123456abcde7890", 0, 0, (0, 2)
"123456abcde7890", 2, 2, (2, 4)
"123456abcde7890", 4, 4, (4, 6)
"123456abcde7890", 6, 11, (11, 13)
"123456abcde7890", 13, 13, (13, 15)
"123456abcde7890", 15, -1, (-1, -1)
/\\D{2}/g
"123456abcde7890", 0, 6, (6, 8)
"123456abcde7890", 8, 8, (8, 10)
"123456abcde7890", 10, -1, (-1, -1)
/([\\d]{5})([-\\ ]?[\\d]{4})?$/
"Boston, Mass. 02134", 0, 14, (14, 19, 14, 19, -1, -1)
/l/
"hello", 0, 2, (2, 3)
"hello", 3, 3, (3, 4)
"hello", 4, -1, (-1, -1)
/\\s/g
"x, x, x, x", 0, 2, (2, 3)
"x, x, x, x", 3, 5, (5, 6)
"x, x, x, x", 6, 8, (8, 9)
"x, x, x, x", 9, -1, (-1, -1)
/((a)|(ab))((c)|(bc))/
"abc", 0, 0, (0, 3, 0, 1, 0, 1, -1, -1, 1, 3, -1, -1, 1, 3)
/a[a-z]{2,4}/
"abcdefghi", 0, 0, (0, 5)
/a[a-z]{2,4}?/
"abcdefghi", 0, 0, (0, 3)
/(aa|aabaac|ba|b|c)*/
"aabaac", 0, 0, (0, 4, 2, 4)
/^(a+)\\1*,\\1+$/
"aaaaaaaaaa,aaaaaaaaaaaaaaa", 0, 0, (0, 26, 0, 5)
/(z)((a+)?(b+)?(c))*/
"zaacbbbcac", 0, 0, (0, 10, 0, 1, 8, 10, 8, 9, -1, -1, 9, 10)
/(a*)*/
"b", 0, 0, (0, 0, -1, -1)
"ab", 0, 0, (0, 1, 0, 1)
/(a*)b\\1+/
"baaaac", 0, 0, (0, 1, 0, 0)
/(?=(a+))/
"baaabac", 0, 1, (1, 1, 1, 4)
/(?=(a+))a*b\\1/
"baaabac", 0, 3, (3, 6, 3, 4)
/(.*?)a(?!(a+)b\\2c)\\2(.*)/
"baaabaac", 0, 0, (0, 8, 0, 2, -1, -1, 3, 8)
/\\w\\s\\w/g
"a b c d e", 0, 0, (0, 3)
"a b c d e", 3, 4, (4, 7)
"a b c d e", 7, -1, (-1, -1)
/\\d\\d\\d/g
"12345678", 0, 0, (0, 3)
"12345678", 3, 3, (3, 6)
"12345678", 6, -1, (-1, -1)
/abc/gi
"AbcaBcabC", 0, 0, (0, 3)
"AbcaBcabC", 3, 3, (3, 6)
"AbcaBcabC", 6, 6, (6, 9)
"AbcaBcabC", 9, -1, (-1, -1)
/abc/i
"AbcaBcabC", 0, 0, (0, 3)
"ABC", 0, 0, (0, 3)
"XABCY", 0, 1, (1, 4)
"ABABC", 0, 2, (2, 5)
"XBC", 0, -1, (-1, -1)
"AXC", 0, -1, (-1, -1)
"ABX", 0, -1, (-1, -1)
"aaxabxbaxbbx", 0, -1, (-1, -1)
/ab*c/
"abc", 0, 0, (0, 3)
/ab*bc/
"abc", 0, 0, (0, 3)
"abbc", 0, 0, (0, 4)
"abbbbc", 0, 0, (0, 6)
/.{1}/
"abbbbc", 0, 0, (0, 1)
/.{3,4}/
"abbbbc", 0, 0, (0, 4)
/ab{0,}bc/
"abbbbc", 0, 0, (0, 6)
/ab+bc/
"abbc", 0, 0, (0, 4)
"abbbbc", 0, 0, (0, 6)
"abc", 0, -1, (0, 9)
"abq", 0, -1, (0, 9)
"abc", 0, -1, (0, -1)
"abq", 0, -1, (0, -1)
/ab{1,}bc/
"abbbbc", 0, 0, (0, 6)
"abq", 0, -1, (0, 9)
/ab{1,3}bc/
"abbbbc", 0, 0, (0, 6)
"abbbc", 0, 0, (0, 5)
"abbc", 0, 0, (0, 4)
"abc", 0, -1, (0, -1)
"abbbbbc", 0, -1, (4, -1)
/ab{3,4}bc/
"abbbbc", 0, 0, (0, 6)
/ab?bc/
"abbc", 0, 0, (0, 4)
"abc", 0, 0, (0, 3)
"abbbbc", 0, -1, (4, 9)
/ab{0,1}bc/
"abc", 0, 0, (0, 3)
/ab?c/
"abc", 0, 0, (0, 3)
/ab{0,1}c/
"abc", 0, 0, (0, 3)
/^abc$/
"abc", 0, 0, (0, 3)
"abcc", 0, -1, (-1, -1)
"aabc", 0, -1, (-1, -1)
"abbbbc", 0, -1, (-1, -1)
"qqq\nabc", 0, -1, (-1, -1)
"abc\nzzz", 0, -1, (-1, -1)
"qqq\nabc\nzzz", 0, -1, (-1, -1)
/^abc/
"abcc", 0, 0, (0, 3)
"abcdefghi", 0, 0, (0, 3)
"abc", 0, 0, (0, 3)
"xyzabc", 0, -1, (-1, -1)
/abc$/
"aabc", 0, 1, (1, 4)
"aabcd", 0, -1, (-1, -1)
"abc", 0, 0, (0, 3)
"abc\n", 0, -1, (-1, -1)
"abc\ndef", 0, -1, (-1, -1)
/^/
"abc", 0, 0, (0, 0)
"test", 0, 0, (0, 0)
/$/
"abc", 0, 3, (3, 3)
"a\nb\n", 0, 4, (4, 4)
"b\na\n", 0, 4, (4, 4)
"b\na", 0, 3, (3, 3)
"xxx", 0, 3, (3, 3)
"xxxx", 0, 4, (4, 4)
/a.c/
"abc", 0, 0, (0, 3)
"axc", 0, 0, (0, 3)
/a.*c/
"axyzc", 0, 0, (0, 5)
"axyzd", 0, -1, (4, 10)
/a[bc]d/
"abd", 0, 0, (0, 3)
"abc", 0, -1, (-1, -1)
"axyzd", 0, -1, (-1, -1)
/a[b-d]e/
"ace", 0, 0, (0, 3)
"abd", 0, -1, (-1, -1)
/a[b-d]/
"aac", 0, 1, (1, 3)
/a[-b]/
"a-", 0, 0, (0, 2)
/a[b-]/
"a-", 0, 0, (0, 2)
/a]/
"a]", 0, 0, (0, 2)
/a[^bc]d/
"aed", 0, 0, (0, 3)
"abd", 0, -1, (-1, -1)
/a[^-b]c/
"adc", 0, 0, (0, 3)
"a-c", 0, -1, (-1, -1)
/\\ba\\b/
"a-", 0, 0, (0, 1)
"-a", 0, 1, (1, 2)
"-a-", 0, 1, (1, 2)
/\\By\\b/
"xy", 0, 1, (1, 2)
/\\by\\B/
"yz", 0, 0, (0, 1)
/\\By\\B/
"xyz", 0, 1, (1, 2)
/a\\Sb/
"a-b", 0, 0, (0, 3)
"a\tb a b a-b", 0, 8, (8, 11)
"a b", 0, -1, (-1, -1)
/\\d/
"1", 0, 0, (0, 1)
"-", 0, -1, (-1, -1)
"_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\f\n\r\t\v~`!@#$%^&*()-+={[}]|\\:;'<,>./? \"", 0, -1, (-1, -1)
"ab1cd", 0, 2, (2, 3)
"ab2cd", 0, 2, (2, 3)
"ab3cd", 0, 2, (2, 3)
"ab4cd", 0, 2, (2, 3)
"ab5cd", 0, 2, (2, 3)
"ab6cd", 0, 2, (2, 3)
"ab7cd", 0, 2, (2, 3)
"ab8cd", 0, 2, (2, 3)
"ab9cd", 0, 2, (2, 3)
"ab0cd", 0, 2, (2, 3)
"\u01003", 0, 1, (1, 2)
/\\D/
"-", 0, 0, (0, 1)
"1", 0, -1, (-1, -1)
"1234567890", 0, -1, (-1, -1)
"12_34", 0, 2, (2, 3)
"12a34", 0, 2, (2, 3)
"12b34", 0, 2, (2, 3)
"1X2", 0, 1, (1, 2)
"1\u01002", 0, 1, (1, 2)
/[\\w]/
"a", 0, 0, (0, 1)
"-", 0, -1, (-1, -1)
/[\\W]/
"-", 0, 0, (0, 1)
"a", 0, -1, (-1, -1)
/a[\\S]b/
"a-b", 0, 0, (0, 3)
"a b", 0, -1, (-1, -1)
/[\\d]/
"1", 0, 0, (0, 1)
"-", 0, -1, (-1, -1)
/[\\D]/
"-", 0, 0, (0, 1)
"1", 0, -1, (-1, -1)
/ab|cd/
"abc", 0, 0, (0, 2)
"abcd", 0, 0, (0, 2)
/()ef/
"def", 0, 1, (1, 3, 1, 1)
/a\\(b/
"a(b", 0, 0, (0, 3)
/a\\(*b/
"ab", 0, 0, (0, 2)
"a((b", 0, 0, (0, 4)
/a\\\\b/
"a\\b", 0, 0, (0, 3)
"a\b", 0, -1, (-1, -1)
/((a))/
"abc", 0, 0, (0, 1, 0, 1, 0, 1)
/(a)b(c)/
"abc", 0, 0, (0, 3, 0, 1, 2, 3)
/a+b+c/
"aabbabc", 0, 4, (4, 7)
/a{1,}b{1,}c/
"aabbabc", 0, 4, (4, 7)
/a.+?c/
"abcabc", 0, 0, (0, 3)
/(a+|b)*/
"ab", 0, 0, (0, 2, 1, 2)
/(a+|b){0,}/
"ab", 0, 0, (0, 2, 1, 2)
/(a+|b)+/
"ab", 0, 0, (0, 2, 1, 2)
/(a+|b){1,}/
"ab", 0, 0, (0, 2, 1, 2)
/(a+|b)?/
"ab", 0, 0, (0, 1, 0, 1)
/(a+|b){0,1}/
"ab", 0, 0, (0, 1, 0, 1)
/[^ab]*/
"cde", 0, 0, (0, 3)
/([abc])*d/
"abbbcd", 0, 0, (0, 6, 4, 5)
/([abc])*bcd/
"abcd", 0, 0, (0, 4, 0, 1)
/a|b|c|d|e/
"e", 0, 0, (0, 1)
/(a|b|c|d|e)f/
"ef", 0, 0, (0, 2, 0, 1)
/abcd*efg/
"abcdefg", 0, 0, (0, 7)
/ab*/
"xabyabbbz", 0, 1, (1, 3)
"xayabbbz", 0, 1, (1, 2)
/(ab|cd)e/
"abcde", 0, 2, (2, 5, 2, 4)
/[abhgefdc]ij/
"hij", 0, 0, (0, 3)
/(abc|)ef/
"abcdef", 0, 4, (4, 6, 4, 4)
/(a|b)c*d/
"abcd", 0, 1, (1, 4, 1, 2)
/(ab|ab*)bc/
"abc", 0, 0, (0, 3, 0, 1)
/a([bc]*)c*/
"abc", 0, 0, (0, 3, 1, 3)
/a([bc]*)(c*d)/
"abcd", 0, 0, (0, 4, 1, 3, 3, 4)
/a([bc]+)(c*d)/
"abcd", 0, 0, (0, 4, 1, 3, 3, 4)
/a([bc]*)(c+d)/
"abcd", 0, 0, (0, 4, 1, 2, 2, 4)
/a[bcd]*dcdcde/
"adcdcde", 0, 0, (0, 7)
/(ab|a)b*c/
"abc", 0, 0, (0, 3, 0, 2)
/((a)(b)c)(d)/
"abcd", 0, 0, (0, 4, 0, 3, 0, 1, 1, 2, 3, 4)
/[a-zA-Z_][a-zA-Z0-9_]*/
"alpha", 0, 0, (0, 5)
/^a(bc+|b[eh])g|.h$/
"abh", 0, 1, (1, 3, -1, -1)
/(bc+d$|ef*g.|h?i(j|k))/
"effgz", 0, 0, (0, 5, 0, 5, -1, -1)
"ij", 0, 0, (0, 2, 0, 2, 1, 2)
"reffgz", 0, 1, (1, 6, 1, 6, -1, -1)
"effg", 0, -1, (3, 10, -1, -1, -1, -1)
"bcdd", 0, -1, (3, 10, -1, -1, -1, -1)
"effg", 0, -1, (3, -1, -1, -1, -1, -1)
"bcdd", 0, -1, (3, -1, -1, -1, -1, -1)
/((((((((((a))))))))))/
"a", 0, 0, (0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1)
"a!", 0, 0, (0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1)
/((((((((((a))))))))))\\10/
"aa", 0, 0, (0, 2, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1)
/(((((((((a)))))))))/
"a", 0, 0, (0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1)
/(.*)c(.*)/
"abcde", 0, 0, (0, 5, 0, 2, 3, 5)
/abcd/
"abcd", 0, 0, (0, 4)
/a(bc)d/
"abcd", 0, 0, (0, 4, 1, 3)
/a[-]?c/
"ac", 0, 0, (0, 2)
/(abc)\\1/
"abcabc", 0, 0, (0, 6, 0, 3)
/([a-c]*)\\1/
"abcabc", 0, 0, (0, 6, 0, 3)
/(a)|\\1/
"a", 0, 0, (0, 1, 0, 1)
"x", 0, 0, (0, 0, -1, -1)
"ab", 0, 0, (0, 1, 0, 1)
/(([a-c])b*?\\2)*/
"ababbbcbc", 0, 0, (0, 5, 3, 5, 3, 4)
/(([a-c])b*?\\2){3}/
"ababbbcbc", 0, 0, (0, 9, 6, 9, 6, 7)
/ab*c/i
"ABC", 0, 0, (0, 3)
/ab*bc/i
"ABC", 0, 0, (0, 3)
"ABBC", 0, 0, (0, 4)
/ab*?bc/i
"ABBBBC", 0, 0, (0, 6)
/ab{0,}?bc/i
"ABBBBC", 0, 0, (0, 6)
/ab+?bc/i
"ABBC", 0, 0, (0, 4)
/ab+bc/i
"ABBBBC", 0, 0, (0, 6)
"ABC", 0, -1, (0, 10)
"ABQ", 0, -1, (0, 10)
"ABC", 0, -1, (0, -1)
"ABQ", 0, -1, (0, -1)
/ab{1,}?bc/i
"ABBBBC", 0, 0, (0, 6)
/ab{1,3}?bc/i
"ABBBBC", 0, 0, (0, 6)
/ab{3,4}?bc/i
"ABBBBC", 0, 0, (0, 6)
/ab??bc/i
"ABBC", 0, 0, (0, 4)
"ABC", 0, 0, (0, 3)
"ABBBBC", 0, -1, (4, 10)
/ab{0,1}?bc/i
"ABC", 0, 0, (0, 3)
/ab??c/i
"ABC", 0, 0, (0, 3)
/ab{0,1}?c/i
"ABC", 0, 0, (0, 3)
/^abc$/i
"ABC", 0, 0, (0, 3)
"ABCC", 0, -1, (-1, -1)
"AABC", 0, -1, (-1, -1)
"ABBBBC", 0, -1, (-1, -1)
/^abc/i
"ABCC", 0, 0, (0, 3)
/abc$/i
"AABC", 0, 1, (1, 4)
/^/i
"ABC", 0, 0, (0, 0)
/$/i
"ABC", 0, 3, (3, 3)
/a.c/i
"ABC", 0, 0, (0, 3)
"AXC", 0, 0, (0, 3)
/a.*?c/i
"AXYZC", 0, 0, (0, 5)
"ABCABC", 0, 0, (0, 3)
/a[bc]d/i
"ABD", 0, 0, (0, 3)
"ABC", 0, -1, (-1, -1)
/a[b-d]e/i
"ACE", 0, 0, (0, 3)
"ABD", 0, -1, (-1, -1)
"ABC", 0, -1, (-1, -1)
/a[b-d]/i
"AAC", 0, 1, (1, 3)
/a[-b]/i
"A-", 0, 0, (0, 2)
/a[b-]/i
"A-", 0, 0, (0, 2)
/a]/i
"A]", 0, 0, (0, 2)
/a[^bc]d/i
"AED", 0, 0, (0, 3)
"ABD", 0, -1, (-1, -1)
/a[^-b]c/i
"ADC", 0, 0, (0, 3)
"A-C", 0, -1, (-1, -1)
"ABD", 0, -1, (-1, -1)
/ab|cd/i
"ABC", 0, 0, (0, 2)
"ABCD", 0, 0, (0, 2)
/()ef/i
"DEF", 0, 1, (1, 3, 1, 1)
/a\\(b/i
"A(B", 0, 0, (0, 3)
/a\\(*b/i
"AB", 0, 0, (0, 2)
"A((B", 0, 0, (0, 4)
/a\\\\b/i
"A\\B", 0, 0, (0, 3)
"AB", 0, -1, (-1, -1)
/((a))/i
"ABC", 0, 0, (0, 1, 0, 1, 0, 1)
/(a)b(c)/i
"ABC", 0, 0, (0, 3, 0, 1, 2, 3)
/a+b+c/i
"AABBABC", 0, 4, (4, 7)
/a{1,}b{1,}c/i
"AABBABC", 0, 4, (4, 7)
/a.+?c/i
"ABCABC", 0, 0, (0, 3)
/a.{0,5}?c/i
"ABCABC", 0, 0, (0, 3)
/(a+|b)*/i
"AB", 0, 0, (0, 2, 1, 2)
/(a+|b){0,}/i
"AB", 0, 0, (0, 2, 1, 2)
/(a+|b)+/i
"AB", 0, 0, (0, 2, 1, 2)
/(a+|b){1,}/i
"AB", 0, 0, (0, 2, 1, 2)
/(a+|b)?/i
"AB", 0, 0, (0, 1, 0, 1)
/(a+|b){0,1}/i
"AB", 0, 0, (0, 1, 0, 1)
/(a+|b){0,1}?/i
"AB", 0, 0, (0, 0, -1, -1)
/[^ab]*/i
"CDE", 0, 0, (0, 3)
/([abc])*d/i
"ABBBCD", 0, 0, (0, 6, 4, 5)
/([abc])*bcd/i
"ABCD", 0, 0, (0, 4, 0, 1)
/a|b|c|d|e/i
"E", 0, 0, (0, 1)
/(a|b|c|d|e)f/i
"EF", 0, 0, (0, 2, 0, 1)
/abcd*efg/i
"ABCDEFG", 0, 0, (0, 7)
/ab*/i
"XABYABBBZ", 0, 1, (1, 3)
"XAYABBBZ", 0, 1, (1, 2)
/(ab|cd)e/i
"ABCDE", 0, 2, (2, 5, 2, 4)
/[abhgefdc]ij/i
"HIJ", 0, 0, (0, 3)
/(abc|)ef/i
"ABCDEF", 0, 4, (4, 6, 4, 4)
/(a|b)c*d/i
"ABCD", 0, 1, (1, 4, 1, 2)
/(ab|ab*)bc/i
"ABC", 0, 0, (0, 3, 0, 1)
/a([bc]*)c*/i
"ABC", 0, 0, (0, 3, 1, 3)
/a([bc]*)(c*d)/i
"ABCD", 0, 0, (0, 4, 1, 3, 3, 4)
/a([bc]+)(c*d)/i
"ABCD", 0, 0, (0, 4, 1, 3, 3, 4)
/a([bc]*)(c+d)/i
"ABCD", 0, 0, (0, 4, 1, 2, 2, 4)
/a[bcd]*dcdcde/i
"ADCDCDE", 0, 0, (0, 7)
/(ab|a)b*c/i
"ABC", 0, 0, (0, 3, 0, 2)
/((a)(b)c)(d)/i
"ABCD", 0, 0, (0, 4, 0, 3, 0, 1, 1, 2, 3, 4)
/[a-zA-Z_][a-zA-Z0-9_]*/i
"ALPHA", 0, 0, (0, 5)
/^a(bc+|b[eh])g|.h$/i
"ABH", 0, 1, (1, 3, -1, -1)
/(bc+d$|ef*g.|h?i(j|k))/i
"EFFGZ", 0, 0, (0, 5, 0, 5, -1, -1)
"IJ", 0, 0, (0, 2, 0, 2, 1, 2)
"REFFGZ", 0, 1, (1, 6, 1, 6, -1, -1)
"EFFG", 0, -1, (3, 10, -1, -1, -1, -1)
"BCDD", 0, -1, (3, 10, -1, -1, -1, -1)
"ADCDCDE", 0, -1, (6, -1, -1, -1, -1, -1)
"EFFG", 0, -1, (3, -1, -1, -1, -1, -1)
"BCDD", 0, -1, (3, -1, -1, -1, -1, -1)
/((((((((((a))))))))))/i
"A", 0, 0, (0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1)
"A!", 0, 0, (0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1)
/((((((((((a))))))))))\\10/i
"AA", 0, 0, (0, 2, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1)
/(((((((((a)))))))))/i
"A", 0, 0, (0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1)
/(?:(?:(?:(?:(?:(?:(?:(?:(?:(a))))))))))/i
"A", 0, 0, (0, 1, 0, 1)
/(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/i
"C", 0, 0, (0, 1, 0, 1)
/(.*)c(.*)/i
"ABCDE", 0, 0, (0, 5, 0, 2, 3, 5)
/abcd/i
"ABCD", 0, 0, (0, 4)
/a(bc)d/i
"ABCD", 0, 0, (0, 4, 1, 3)
/a[-]?c/i
"AC", 0, 0, (0, 2)
/(abc)\\1/i
"ABCABC", 0, 0, (0, 6, 0, 3)
"abcabc", 0, 0, (0, 6, 0, 3)
"ABCabc", 0, 0, (0, 6, 0, 3)
"abcABC", 0, 0, (0, 6, 0, 3)
/([a-c]*)\\1/i
"ABCABC", 0, 0, (0, 6, 0, 3)
/a(?!b)./
"abad", 0, 2, (2, 4)
/a(?=d)./
"abad", 0, 2, (2, 4)
/a(?=c|d)./
"abad", 0, 2, (2, 4)
/a(?:b|c|d)(.)/
"ace", 0, 0, (0, 3, 2, 3)
/a(?:b|c|d)*(.)/
"ace", 0, 0, (0, 3, 2, 3)
/a(?:b|c|d)+?(.)/
"ace", 0, 0, (0, 3, 2, 3)
"acdbcdbe", 0, 0, (0, 3, 2, 3)
/a(?:b|c|d)+(.)/
"acdbcdbe", 0, 0, (0, 8, 7, 8)
/a(?:b|c|d){2}(.)/
"acdbcdbe", 0, 0, (0, 4, 3, 4)
/a(?:b|c|d){4,5}(.)/
"acdbcdbe", 0, 0, (0, 7, 6, 7)
/a(?:b|c|d){4,5}?(.)/
"acdbcdbe", 0, 0, (0, 6, 5, 6)
/((foo)|(bar))*/
"foobar", 0, 0, (0, 6, 3, 6, -1, -1, 3, 6)
/a(?:b|c|d){6,7}(.)/
"acdbcdbe", 0, 0, (0, 8, 7, 8)
/a(?:b|c|d){6,7}?(.)/
"acdbcdbe", 0, 0, (0, 8, 7, 8)
/a(?:b|c|d){5,6}(.)/
"acdbcdbe", 0, 0, (0, 8, 7, 8)
/a(?:b|c|d){5,6}?(.)/
"acdbcdbe", 0, 0, (0, 7, 6, 7)
/a(?:b|c|d){5,7}(.)/
"acdbcdbe", 0, 0, (0, 8, 7, 8)
/a(?:b|c|d){5,7}?(.)/
"acdbcdbe", 0, 0, (0, 7, 6, 7)
/a(?:b|(c|e){1,2}?|d)+?(.)/
"ace", 0, 0, (0, 3, 1, 2, 2, 3)
/^(.+)?B/
"AB", 0, 0, (0, 2, 0, 1)
/^([^a-z])|(\\^)$/
".", 0, 0, (0, 1, 0, 1, -1, -1)
/^[<>]&/
"<&OUT", 0, 0, (0, 2)
/((a{4})+)/
"aaaaaaaaa", 0, 0, (0, 8, 0, 8, 4, 8)
/(((aa){2})+)/
"aaaaaaaaaa", 0, 0, (0, 8, 0, 8, 4, 8, 6, 8)
/(((a{2}){2})+)/
"aaaaaaaaaa", 0, 0, (0, 8, 0, 8, 4, 8, 6, 8)
/(?:(f)(o)(o)|(b)(a)(r))*/
"foobar", 0, 0, (0, 6, -1, -1, -1, -1, -1, -1, 3, 4, 4, 5, 5, 6)
/(?:..)*a/
"aba", 0, 0, (0, 3)
/(?:..)*?a/
"aba", 0, 0, (0, 1)
/^(?:b|a(?=(.)))*\\1/
"abc", 0, 0, (0, 2, -1, -1)
/^(){3,5}/
"abc", 0, 0, (0, 0, 0, 0)
/^(a+)*ax/
"aax", 0, 0, (0, 3, 0, 1)
/^((a|b)+)*ax/
"aax", 0, 0, (0, 3, 0, 1, 0, 1)
/^((a|bc)+)*ax/
"aax", 0, 0, (0, 3, 0, 1, 0, 1)
/(a|x)*ab/
"cab", 0, 1, (1, 3, -1, -1)
/(a)*ab/
"cab", 0, 1, (1, 3, -1, -1)
/(?:c|d)(?:)(?:a(?:)(?:b)(?:b(?:))(?:b(?:)(?:b)))/
"cabbbb", 0, 0, (0, 6)
/(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/
"caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", 0, 0, (0, 41)
/(ab)\\d\\1/i
"Ab4ab", 0, 0, (0, 5, 0, 2)
"ab4Ab", 0, 0, (0, 5, 0, 2)
/foo\\w*\\d{4}baz/
"foobar1234baz", 0, 0, (0, 13)
/x(~~)*(?:(?:F)?)?/
"x~~", 0, 0, (0, 3, 1, 3)
/(?=(a+?))(\\1ab)/
"aaab", 0, 1, (1, 4, 1, 2, 1, 4)
/(\\w+:)+/
"one:", 0, 0, (0, 4, 0, 4)
/([\\w:]+::)?(\\w+)$/
"abcd", 0, 0, (0, 4, -1, -1, 0, 4)
"xy:z:::abcd", 0, 0, (0, 11, 0, 7, 7, 11)
"abcd:", 0, -1, (6, 11, -1, -1, -1, -1)
"abcd:", 0, -1, (6, -1, -1, -1, -1, -1)
/^[^bcd]*(c+)/
"aexycd", 0, 0, (0, 5, 4, 5)
/(a*)b+/
"caab", 0, 1, (1, 4, 1, 3)
/([[:]+)/
"a:[b]:", 0, 1, (1, 3, 1, 3)
/([[=]+)/
"a=[b]=", 0, 1, (1, 3, 1, 3)
/([[.]+)/
"a.[b].", 0, 1, (1, 3, 1, 3)
/$/m
"a\nb\n", 0, 1, (1, 1)
"b\na\n", 0, 1, (1, 1)
"b\na", 0, 1, (1, 1)
/a$/
"b\na", 0, 2, (2, 3)
"a\nb\n", 0, -1, (-1, -1)
"aaab", 0, -1, (-1, -1)
/a$/m
"a\nb\n", 0, 0, (0, 1)
"b\na\n", 0, 2, (2, 3)
"b\na", 0, 2, (2, 3)
/aa$/
"b\naa", 0, 2, (2, 4)
"aa\nb\n", 0, -1, (-1, -1)
"ac\nb\n", 0, -1, (-1, -1)
"b\nac\n", 0, -1, (-1, -1)
"b\nac", 0, -1, (-1, -1)
"ca\nb\n", 0, -1, (-1, -1)
"b\nca\n", 0, -1, (-1, -1)
"b\nca", 0, -1, (-1, -1)
/aa$/m
"aa\nb\n", 0, 0, (0, 2)
"b\naa\n", 0, 2, (2, 4)
"b\naa", 0, 2, (2, 4)
"ac\nb\n", 0, -1, (-1, -1)
"b\nac\n", 0, -1, (-1, -1)
"b\nac", 0, -1, (-1, -1)
"ca\nb\n", 0, -1, (-1, -1)
"b\nca\n", 0, -1, (-1, -1)
"b\nca", 0, -1, (-1, -1)
/ab$/
"b\nab", 0, 2, (2, 4)
"ab\nb\n", 0, -1, (-1, -1)
"ac\nb\n", 0, -1, (-1, -1)
"b\nac\n", 0, -1, (-1, -1)
"b\nac", 0, -1, (-1, -1)
"ca\nb\n", 0, -1, (-1, -1)
"b\nca\n", 0, -1, (-1, -1)
"b\nca", 0, -1, (-1, -1)
/ab$/m
"ab\nb\n", 0, 0, (0, 2)
"b\nab\n", 0, 2, (2, 4)
"b\nab", 0, 2, (2, 4)
"ac\nb\n", 0, -1, (-1, -1)
"b\nac\n", 0, -1, (-1, -1)
"b\nac", 0, -1, (-1, -1)
"ca\nb\n", 0, -1, (-1, -1)
"b\nca\n", 0, -1, (-1, -1)
"b\nca", 0, -1, (-1, -1)
/abb$/
"b\nabb", 0, 2, (2, 5)
"abb\nb\n", 0, -1, (-1, -1)
"ac\nb\n", 0, -1, (-1, -1)
"b\nac\n", 0, -1, (-1, -1)
"b\nac", 0, -1, (-1, -1)
"ca\nb\n", 0, -1, (-1, -1)
"b\nca\n", 0, -1, (-1, -1)
"b\nca", 0, -1, (-1, -1)
/abb$/m
"abb\nb\n", 0, 0, (0, 3)
"b\nabb\n", 0, 2, (2, 5)
"b\nabb", 0, 2, (2, 5)
"ac\nb\n", 0, -1, (-1, -1)
"b\nac\n", 0, -1, (-1, -1)
"b\nac", 0, -1, (-1, -1)
"ca\nb\n", 0, -1, (-1, -1)
"b\nca\n", 0, -1, (-1, -1)
"b\nca", 0, -1, (-1, -1)
/(^|x)(c)/
"ca", 0, 0, (0, 1, 0, 0, 0, 1)
/foo.bart/
"foo.bart", 0, 0, (0, 8)
/^d[x][x][x]/m
"abcd\ndxxx", 0, 5, (5, 9)
/tt+$/
"xxxtt", 0, 3, (3, 5)
/(\\d+\\.\\d+)/
"3.1415926", 0, 0, (0, 9, 0, 9)
/\\.c(pp|xx|c)?$/i
"IO.c", 0, 2, (2, 4, -1, -1)
"Changes", 0, -1, (6, 11, -1, -1)
/(\\.c(pp|xx|c)?$)/i
"IO.c", 0, 2, (2, 4, 2, 4, -1, -1)
/(^|a)b/
"ab", 0, 0, (0, 2, 0, 1)
/^([ab]*?)(b)?(c)$/
"abac", 0, 0, (0, 4, 0, 3, -1, -1, 3, 4)
/^(?:.,){2}c/i
"a,b,c", 0, 0, (0, 5)
/^(.,){2}c/i
"a,b,c", 0, 0, (0, 5, 2, 4)
/^(?:[^,]*,){2}c/
"a,b,c", 0, 0, (0, 5)
/^([^,]*,){2}c/
"a,b,c", 0, 0, (0, 5, 2, 4)
/^([^,]*,){3}d/
"aaa,b,c,d", 0, 0, (0, 9, 6, 8)
/^([^,]*,){3,}d/
"aaa,b,c,d", 0, 0, (0, 9, 6, 8)
/^([^,]*,){0,3}d/
"aaa,b,c,d", 0, 0, (0, 9, 6, 8)
/^([^,]{1,3},){3}d/i
"aaa,b,c,d", 0, 0, (0, 9, 6, 8)
/^([^,]{1,3},){3,}d/
"aaa,b,c,d", 0, 0, (0, 9, 6, 8)
/^([^,]{1,3},){0,3}d/
"aaa,b,c,d", 0, 0, (0, 9, 6, 8)
/^([^,]{1,},){3}d/
"aaa,b,c,d", 0, 0, (0, 9, 6, 8)
/^([^,]{1,},){3,}d/
"aaa,b,c,d", 0, 0, (0, 9, 6, 8)
/^([^,]{1,},){0,3}d/
"aaa,b,c,d", 0, 0, (0, 9, 6, 8)
/^([^,]{0,3},){3}d/i
"aaa,b,c,d", 0, 0, (0, 9, 6, 8)
/^([^,]{0,3},){3,}d/
"aaa,b,c,d", 0, 0, (0, 9, 6, 8)
/^([^,]{0,3},){0,3}d/
"aaa,b,c,d", 0, 0, (0, 9, 6, 8)
/^(a(b)?)+$/
"aba", 0, 0, (0, 3, 2, 3, -1, -1)
/^(aa(bb)?)+$/
"aabbaa", 0, 0, (0, 6, 4, 6, -1, -1)
/^.{9}abc.*\\n/m
"123\nabcabcabcabc\n", 0, 4, (4, 17)
/^(a)?a$/
"a", 0, 0, (0, 1, -1, -1)
/^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$/
"aaaaaa", 0, 0, (0, 6, 0, 1, 1, 3, 3, 4, 4, 6)
"a", 0, -1, (-1, -1, -1, -1, -1, -1, -1, -1, -1, -1)
"aa", 0, -1, (-1, -1, -1, -1, -1, -1, -1, -1, -1, -1)
"aaa", 0, -1, (-1, -1, -1, -1, -1, -1, -1, -1, -1, -1)
"aaaa", 0, 0, (0, 4, 0, 1, 1, 2, 2, 3, 3, 4)
"aaaaa", 0, 0, (0, 5, 0, 1, 1, 3, 3, 4, 4, 5)
"aaaaaaa", 0, 0, (0, 7, 0, 1, 1, 3, 3, 6, 6, 7)
"aaaaaaaa", 0, -1, (-1, -1, -1, -1, -1, -1, -1, -1, -1, -1)
"aaaaaaaaa", 0, -1, (-1, -1, -1, -1, -1, -1, -1, -1, -1, -1)
"aaaaaaaaaa", 0, 0, (0, 10, 0, 1, 1, 3, 3, 6, 6, 10)
"aaaaaaaaaaa", 0, -1, (-1, -1, -1, -1, -1, -1, -1, -1, -1, -1)
"aaaaaaaaaaaa", 0, -1, (-1, -1, -1, -1, -1, -1, -1, -1, -1, -1)
"aaaaaaaaaaaaa", 0, -1, (-1, -1, -1, -1, -1, -1, -1, -1, -1, -1)
"aaaaaaaaaaaaaa", 0, -1, (-1, -1, -1, -1, -1, -1, -1, -1, -1, -1)
"aaaaaaaaaaaaaaa", 0, -1, (-1, -1, -1, -1, -1, -1, -1, -1, -1, -1)
"aaaaaaaaaaaaaaaa", 0, -1, (-1, -1, -1, -1, -1, -1, -1, -1, -1, -1)
/^(0+)?(?:x(1))?/
"x1", 0, 0, (0, 2, -1, -1, 1, 2)
/^([0-9a-fA-F]+)(?:x([0-9a-fA-F]+)?)(?:x([0-9a-fA-F]+))?/
"012cxx0190", 0, 0, (0, 10, 0, 4, -1, -1, 6, 10)
/^(b+?|a){1,2}c/
"bbbac", 0, 0, (0, 5, 3, 4)
"bbbbac", 0, 0, (0, 6, 4, 5)
/((?:aaaa|bbbb)cccc)?/
"aaaacccc", 0, 0, (0, 8, 0, 8)
"bbbbcccc", 0, 0, (0, 8, 0, 8)
/ab{4,5}bc/
"abbbbc", 0, -1, (0, 9)
"abq", 0, -1, (0, -1)
"abbbbc", 0, -1, (0, -1)
/a[^]b]c/
"a]c", 0, -1, (-1, -1)
/\\by\\b/
"xy", 0, -1, (-1, -1)
"yz", 0, -1, (-1, -1)
"xyz", 0, -1, (-1, -1)
/\\Ba\\B/
"a-", 0, -1, (-1, -1)
"-a", 0, -1, (-1, -1)
"-a-", 0, -1, (-1, -1)
/a\\sb/
"a-b", 0, -1, (-1, -1)
"a b", 0, 0, (0, 3)
/a[\\s]b/
"a-b", 0, -1, (-1, -1)
"a b", 0, 0, (0, 3)
/$b/
"b", 0, -1, (-1, -1)
/^(ab|cd)e/
"abcde", 0, -1, (0, 10, -1, -1)
/a[bcd]+dcdcde/
"adcdcde", 0, -1, (0, 10)
"abcde", 0, -1, (0, -1)
"adcdcde", 0, -1, (0, -1)
/[k]/
"ab", 0, -1, (-1, -1)
/((\\3|b)\\2(a)x)+/
"aaxabxbaxbbx", 0, 1, (1, 3, 1, 3, 1, 1, 1, 2)
"aaaxabaxbaaxbbax", 0, 2, (2, 4, 2, 4, 2, 2, 2, 3)
/ab{1,}bc/i
"ABQ", 0, -1, (0, 10)
/ab{4,5}?bc/i
"ABBBBC", 0, -1, (0, 10)
"ABQ", 0, -1, (0, -1)
"ABBBBC", 0, -1, (0, -1)
/a.*c/i
"AXYZD", 0, -1, (4, 10)
"AABC", 0, 0, (0, 4)
"AXYZD", 0, -1, (4, -1)
/a[^]b]c/i
"A]C", 0, -1, (-1, -1)
/$b/i
"B", 0, -1, (-1, -1)
"A]C", 0, -1, (-1, -1)
/^(ab|cd)e/i
"ABCDE", 0, -1, (0, 10, -1, -1)
"ABCDE", 0, -1, (0, -1, -1, -1)
/a[bcd]+dcdcde/i
"ADCDCDE", 0, -1, (0, 10)
/[k]/i
"AB", 0, -1, (-1, -1)
/^(a\\1?){4}$/
"aaaaaaaaa", 0, -1, (-1, -1, -1, -1)
"aaaaaaaaaaa", 0, -1, (-1, -1, -1, -1)
"a", 0, -1, (-1, -1, -1, -1)
"aa", 0, -1, (-1, -1, -1, -1)
"aaa", 0, -1, (-1, -1, -1, -1)
"aaaa", 0, 0, (0, 4, 3, 4)
"aaaaa", 0, -1, (-1, -1, -1, -1)
"aaaaaaa", 0, -1, (-1, -1, -1, -1)
"aaaaaaaa", 0, -1, (-1, -1, -1, -1)
"aaaaaaaaaa", 0, -1, (-1, -1, -1, -1)
"aaaaaaaaaaaa", 0, -1, (-1, -1, -1, -1)
"aaaaaaaaaaaaa", 0, -1, (-1, -1, -1, -1)
"aaaaaaaaaaaaaa", 0, -1, (-1, -1, -1, -1)
"aaaaaaaaaaaaaaa", 0, -1, (-1, -1, -1, -1)
"aaaaaaaaaaaaaaaa", 0, -1, (-1, -1, -1, -1)
"AB", 0, -1, (-1, -1, -1, -1)
/^(?:a?b?)*$/
"a--", 0, -1, (-1, -1)
"", 0, 0, (0, 0)
"a", 0, 0, (0, 1)
"ab", 0, 0, (0, 2)
"aaa", 0, 0, (0, 3)
"dbcb", 0, -1, (-1, -1)
"aa--", 0, -1, (-1, -1)
/^b/
"a\nb\nc\n", 0, -1, (-1, -1)
/()^b/
"a\nb\nc\n", 0, -1, (7, 10, -1, -1)
"a\nb\nc\n", 0, -1, (7, -1, -1, -1)
/^(?=(a+?))\\1ab/
"aaab", 0, -1, (-1, -1, 0, 1)
/(>a+)ab/
"aaab", 0, -1, (1, 11, -1, -1)
/a\\Z/
"a\nb\n", 0, -1, (-1, -1)
/a\\z/
"a\nb\n", 0, -1, (-1, -1)
"b\na\n", 0, -1, (-1, -1)
"az", 0, 0, (0, 2)
/a\\z/m
"a\nb\n", 0, -1, (-1, -1)
"b\na\n", 0, -1, (-1, -1)
/aa\\Z/
"aa\nb\n", 0, -1, (-1, -1)
"ac\nb\n", 0, -1, (-1, -1)
"b\nac\n", 0, -1, (-1, -1)
"b\nac", 0, -1, (-1, -1)
"ca\nb\n", 0, -1, (-1, -1)
"b\nca\n", 0, -1, (-1, -1)
"b\nca", 0, -1, (-1, -1)
/aa\\z/
"aa\nb\n", 0, -1, (-1, -1)
"b\naa\n", 0, -1, (-1, -1)
"ac\nb\n", 0, -1, (-1, -1)
"b\nac\n", 0, -1, (-1, -1)
"b\nac", 0, -1, (-1, -1)
"ca\nb\n", 0, -1, (-1, -1)
"b\nca\n", 0, -1, (-1, -1)
"b\nca", 0, -1, (-1, -1)
/aa\\z/m
"aa\nb\n", 0, -1, (-1, -1)
"b\naa\n", 0, -1, (-1, -1)
"ac\nb\n", 0, -1, (-1, -1)
"b\nac\n", 0, -1, (-1, -1)
"b\nac", 0, -1, (-1, -1)
"ca\nb\n", 0, -1, (-1, -1)
"b\nca\n", 0, -1, (-1, -1)
"b\nca", 0, -1, (-1, -1)
/aa\\Z/m
"ac\nb\n", 0, -1, (-1, -1)
"b\nac\n", 0, -1, (-1, -1)
"b\nac", 0, -1, (-1, -1)
"ca\nb\n", 0, -1, (-1, -1)
"b\nca\n", 0, -1, (-1, -1)
"b\nca", 0, -1, (-1, -1)
/ab\\Z/
"ab\nb\n", 0, -1, (-1, -1)
"ac\nb\n", 0, -1, (-1, -1)
"b\nac\n", 0, -1, (-1, -1)
"b\nac", 0, -1, (-1, -1)
"ca\nb\n", 0, -1, (-1, -1)
"b\nca\n", 0, -1, (-1, -1)
"b\nca", 0, -1, (-1, -1)
/ab\\z/
"ab\nb\n", 0, -1, (-1, -1)
"b\nab\n", 0, -1, (-1, -1)
"ac\nb\n", 0, -1, (-1, -1)
"b\nac\n", 0, -1, (-1, -1)
"b\nac", 0, -1, (-1, -1)
"ca\nb\n", 0, -1, (-1, -1)
"b\nca\n", 0, -1, (-1, -1)
"b\nca", 0, -1, (-1, -1)
/ab\\z/m
"ab\nb\n", 0, -1, (-1, -1)
"b\nab\n", 0, -1, (-1, -1)
"ac\nb\n", 0, -1, (-1, -1)
"b\nac\n", 0, -1, (-1, -1)
"b\nac", 0, -1, (-1, -1)
"ca\nb\n", 0, -1, (-1, -1)
"b\nca\n", 0, -1, (-1, -1)
"b\nca", 0, -1, (-1, -1)
/ab\\Z/m
"ac\nb\n", 0, -1, (-1, -1)
"b\nac\n", 0, -1, (-1, -1)
"b\nac", 0, -1, (-1, -1)
"ca\nb\n", 0, -1, (-1, -1)
"b\nca\n", 0, -1, (-1, -1)
"b\nca", 0, -1, (-1, -1)
/abb\\Z/
"abb\nb\n", 0, -1, (-1, -1)
"ac\nb\n", 0, -1, (-1, -1)
"b\nac\n", 0, -1, (-1, -1)
"b\nac", 0, -1, (-1, -1)
"ca\nb\n", 0, -1, (-1, -1)
"b\nca\n", 0, -1, (-1, -1)
"b\nca", 0, -1, (-1, -1)
/abb\\z/
"abb\nb\n", 0, -1, (-1, -1)
"b\nabb\n", 0, -1, (-1, -1)
"ac\nb\n", 0, -1, (-1, -1)
"b\nac\n", 0, -1, (-1, -1)
"b\nac", 0, -1, (-1, -1)
"ca\nb\n", 0, -1, (-1, -1)
"b\nca\n", 0, -1, (-1, -1)
"b\nca", 0, -1, (-1, -1)
/abb\\z/m
"abb\nb\n", 0, -1, (-1, -1)
"b\nabb\n", 0, -1, (-1, -1)
"ac\nb\n", 0, -1, (-1, -1)
"b\nac\n", 0, -1, (-1, -1)
"b\nac", 0, -1, (-1, -1)
"ca\nb\n", 0, -1, (-1, -1)
"b\nca\n", 0, -1, (-1, -1)
"b\nca", 0, -1, (-1, -1)
/abb\\Z/m
"ac\nb\n", 0, -1, (-1, -1)
"b\nac\n", 0, -1, (-1, -1)
"b\nac", 0, -1, (-1, -1)
"ca\nb\n", 0, -1, (-1, -1)
"b\nca\n", 0, -1, (-1, -1)
"b\nca", 0, -1, (-1, -1)
-/asd
-??
-*+