| # 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 |
| -?? |
| -*+ |
| |