packages feed

regexchar-0.9.0.7: data/Tests_ATTBasic.txt

#AUTHOR:	Dr. Alistair Ward
#DESCRIPTION:	Designed to be read by the module "FunctionAlley.RegExChar.Assert.RegExOptsChar".
#Based on <http://www2.research.att.com/~gsf/testregex/basic.dat>

("abracadabra$",								[("abracadabracadabra", [(7,11)])])
("a...b",									[("abababbb", [(2,5)])])
("XXXXXX",									[("..XXXXXX", [(2,6)])])

("\\)",										[("()", [(1,1)])])
("a]",										[("a]a", [(0,2)])])
("\\}",										[("}", [(0,1)])])
("\\]",										[("]", [(0,1)])])
("]",										[("]", [(0,1)])])
#("{",										[("{", [(0,1)])])				#Text.Regex.Posix dies on this.
("}",										[("}", [(0,1)])])

("^a",										[("ax", [(0,1)])])
("\\^a",									[("a^a", [(1,2)])])
("a\\^",									[("a^", [(0,2)])])
("a$",										[("aa", [(1,1)])])
("a\\$",									[("a$", [(0,2)])])

("^$",										[("", [(0,0)])])
("$^",										[("", [(0,0)])])
("a($)",									[("aa", [(1,1),(2,0)])])
("a*(^a)",									[("aa", [(0,1),(0,1)])])

("(..)*(...)*",									[("a", [(0,0)]), ("abcd", [(0,4),(2,2)])])	#1st test returns [(0,0),(0,0),(0,0)] (presumable the /last/ match of the repeatable group doesn't exist).
("(ab|a)(bc|c)",								[("abc", [(0,3),(0,2),(2,1)])])
("(ab)c|abc",									[("abc", [(0,3),(0,2)])])			#Returns [(0,3)] (wrong choice amongst potential matches).
("a{0}b",									[("ab", [(1,1)])])

("(a*)(b?)(b+)b{3}",								[("aaabbbbbbb", [(0,10),(0,3),(3,1),(4,3)])])
("(a*)(b{0,1})(b{1,})b{3}",							[("aaabbbbbbb", [(0,10),(0,3),(3,1),(4,3)])])

("((a|a)|a)",									[("a", [(0,1),(0,1),(0,1)])])			#Returns [(0,1),(0,1)] (wrong choice amongst potential matches).
("(a*)(a|aa)",									[("aaaa", [(0,4),(0,3),(3,1)])])
("a*(a.|aa)",									[("aaaa", [(0,4),(2,2)])])

("a(b)|c(d)|a(e)f",								[("aef", [(0,3),(1,1)])])
("(a|b)?.*",									[("b", [(0,1),(0,1)])])
("(a|b)c|a(b|c)",								[("ac",	[(0,2),(0,1)]), ("ab", [(0,2),(1,1)])])	#1st test returns [(0,2),(1,1)] (wrong choice amongst potential matches).
("(a|b)*c|(a|ab)*c",								[("abc", [(0,3),(1,1)]), ("xc", [(1,1)])])	#1st test returns [(0,3),(0,2)] (by selecting the 2nd alternative).
("(.a|.b).*|.*(.a|.b)",								[("xa", [(0,2),(0,2)])])
("a?(ab|ba)ab",									[("abab", [(0,4),(0,2)])])
("a?(ac{0}b|ba)ab",								[("abab", [(0,4),(0,2)])])
("ab|abab",									[("abbabab", [(0,2)])])
("aba|bab|bba",									[("baaabbbaba", [(5,3)])])
("aba|bab",									[("baaabbbaba", [(6,3)])])
("(aa|aaa)*|(a|aaaaa)",								[("aa", [(0,2),(0,2)])])
("(a.|.a.)*|(a|.a...)",								[("aa", [(0,2),(0,2)])])
("ab|a",									[("xabc", [(1,2)]), ("xxabc", [(2,2)])])

#("(Ab|cD)*",									[("aBcD", [(0,4),(2,2)])])			#Relies on case-insensitivity.
("[^-]",									[("--a", [(2,1)])])
("[a-]*",									[("--a", [(0,3)])])
("[a-m-]*",									[("--amoma--", [(0,4)])])

(":::1:::0:|:::1:1:0:",								[(":::0:::1:::1:::0:", [(8,9)])])
(":::1:::0:|:::1:1:1:",								[(":::0:::1:::1:::0:", [(8,9)])])

("[[:upper:]]",									[("A", [(0,1)])])
("[[:lower:]]+",								[("`az{", [(1,2)])])
("[[:upper:]]+",								[("@AZ[", [(1,2)])])

("[[-]]",									[("[[-]]", [(2,2)])])
("\n",										[("\n", [(0,1)])])
("[^a]",									[("\n", [(0,1)])])
("\na",										[("\na", [(0,2)])])
("(a)(b)(c)",									[("abc", [(0,3),(0,1),(1,1),(2,1)])])
("xxx",										[("xxx", [(0,3)])])
("(^|[ (,;])((([Ff]eb[^ ]* *|0*2/|\\* */?)0*[6-7]))([^0-9]|$)",			[("feb 6,", [(0,6),(0,0),(0,5),(0,5),(0,4),(5,1)]), ("2/7", [(0,3),(0,0),(0,3),(0,3),(0,2),(3,0)]), ("feb 1,Feb 6", [(5,6),(5,1),(6,5),(6,5),(6,4),(11,0)])])

("((((((((((((((((((((((((((((((x))))))))))))))))))))))))))))))",		[("x", [(0,1),(0,1),(0,1),(0,1),(0,1),(0,1),(0,1),(0,1),(0,1),(0,1),(0,1),(0,1),(0,1),(0,1),(0,1),(0,1),(0,1),(0,1),(0,1),(0,1),(0,1),(0,1),(0,1),(0,1),(0,1),(0,1),(0,1),(0,1),(0,1),(0,1),(0,1)])])
("((((((((((((((((((((((((((((((x))))))))))))))))))))))))))))))*",		[("xx", [(0,2),(1,1),(1,1),(1,1),(1,1),(1,1),(1,1),(1,1),(1,1),(1,1),(1,1),(1,1),(1,1),(1,1),(1,1),(1,1),(1,1),(1,1),(1,1),(1,1),(1,1),(1,1),(1,1),(1,1),(1,1),(1,1),(1,1),(1,1),(1,1),(1,1),(1,1)])])

("a?(ab|ba)*",									[("ababababababababababababababababababababababababababababababababababababababababa", [(0,81),(79,2)])])
("abaa|abbaa|abbbaa|abbbbaa",							[("ababbabbbabbbabbbbabbbbaa", [(18,7)]), ("ababbabbbabbbabbbbabaa", [(18,4)])])
("aaac|aabc|abac|abbc|baac|babc|bbac|bbbc",					[("baaabbbabac", [(7,4)])])

(".*",										[("\x01\xff", [(0,2)])])
("aaaa|bbbb|cccc|ddddd|eeeeee|fffffff|gggg|hhhh|iiiii|jjjjj|kkkkk|llll",	[("XaaaXbbbXcccXdddXeeeXfffXgggXhhhXiiiXjjjXkkkXlllXcbaXaaaa", [(53,4)])])
("a*a*a*a*a*b",									[("aaaaaaaaab", [(0,10)])])

("^",										[("", [(0,0)]), ("abc", [(0,0)])])
("$",										[("", [(0,0)]), ("abc", [(3,0)])])
("^$",										[("", [(0,0)])])
("^a$",										[("a", [(0,1)])])

("abc",										[("abc", [(0,3)]), ("xabcy", [(1,3)]), ("ababc", [(2,3)])])
("ab*c",									[("abc", [(0,3)])])
("ab*bc",									[("abc", [(0,3)]), ("abbc", [(0,4)]), ("abbbbc", [(0,6)])])
("ab+bc",									[("abbc", [(0,4)]), ("abbbbc", [(0,6)])])
("ab?bc",									[("abbc", [(0,4)]), ("abc", [(0,3)])])
("ab?c",									[("abc", [(0,3)])])

("^abc$",									[("abc", [(0,3)])])
("^abc",									[("abcc", [(0,3)])])
("abc$",									[("aabc", [(1,3)])])

("a.c",										[("abc", [(0,3)]), ("axc", [(0,3)])])
("a.*c",									[("axyzc", [(0,5)])])

("a[bc]d",									[("abd", [(0,3)])])
("a[b-d]e",									[("ace", [(0,3)])])
("a[b-d]",									[("aac", [(1,2)])])
("a[-b]",									[("a-", [(0,2)])])
("a[b-]",									[("a-", [(0,2)])])
("a]",										[("a]", [(0,2)])])
("a[]]b",									[("a]b", [(0,3)])])
("a[^bc]d",									[("aed", [(0,3)])])
("a[^-b]c",									[("adc", [(0,3)])])
("a[^]b]c",									[("adc", [(0,3)])])

("ab|cd",									[("abc", [(0,2)]), ("abcd", [(0,2)])])
("a\\(b",									[("a(b", [(0,3)])])
("a\\(*b",									[("ab", [(0,2)]), ("a((b", [(0,4)])])
("((a))",									[("abc", [(0,1),(0,1),(0,1)])])
("(a)b(c)",									[("abc", [(0,3),(0,1),(2,1)])])
("a+b+c",									[("aabbabc", [(4,3)])])
("a*",										[("aaa", [(0,3)])])

("(a*)*",									[("-", [(0,0),(0,0)])])
("(a*)+",									[("-", [(0,0),(0,0)])])
("(a*|b)*",									[("-", [(0,0),(0,0)])])
("(a+|b)*",									[("ab", [(0,2),(1,1)])])
("(a+|b)+",									[("ab", [(0,2),(1,1)])])
("(a+|b)?",									[("ab", [(0,1),(0,1)])])
("[^ab]*",									[("cde", [(0,3)])])

("(^)*",									[("-", [(0,0),(0,0)])])
("a*",										[("", [(0,0)])])

("([abc])*d",									[("abbbcd", [(0,6),(4,1)])])
("([abc])*bcd",									[("abcd", [(0,4),(0,1)])])

("a|b|c|d|e",									[("e", [(0,1)])])
("(a|b|c|d|e)f",								[("ef", [(0,2),(0,1)])])

("((a*|b))*",									[("-", [(0,0),(0,0),(0,0)])])
("abcd*efg",									[("abcdefg", [(0,7)])])
("ab*",										[("xabyabbbz", [(1,2)]), ("xayabbbz", [(1,1)])])
("(ab|cd)e",									[("abcde", [(2,3),(2,2)])])
("[abhgefdc]ij",								[("hij", [(0,3)])])

("(a|b)c*d",									[("abcd", [(1,3),(1,1)])])
("(ab|ab*)bc",									[("abc", [(0,3),(0,1)])])

("a([bc]*)c*",									[("abc", [(0,3),(1,2)])])
("a([bc]*)(c*d)",								[("abcd", [(0,4),(1,2),(3,1)])])
("a([bc]+)(c*d)",								[("abcd", [(0,4),(1,2),(3,1)])])
("a([bc]*)(c+d)",								[("abcd", [(0,4),(1,1),(2,2)])])
("a[bcd]*dcdcde",								[("adcdcde", [(0,7)])])
("(ab|a)b*c",									[("abc", [(0,3),(0,2)])])
("((a)(b)c)(d)",								[("abcd", [(0,4),(0,3),(0,1),(1,1),(3,1)])])

("[A-Za-z_][A-Za-z0-9_]*",							[("alpha", [(0,5)])])
("^a(bc+|b[eh])g|.h$",								[("abh", [(1,2)])])
("(bc+d$|ef*g.|h?i(j|k))",							[("effgz", [(0,5),(0,5)]), ("ij", [(0,2),(0,2),(1,1)]), ("reffgz", [(1,5),(1,5)])])
("(((((((((a)))))))))",								[("a", [(0,1),(0,1),(0,1),(0,1),(0,1),(0,1),(0,1),(0,1),(0,1),(0,1)])])
("multiple words",								[("multiple words yeah", [(0,14)])])

("(.*)c(.*)",									[("abcde", [(0,5),(0,2),(3,2)])])
("abcd",									[("abcd", [(0,4)])])
("a(bc)d",									[("abcd", [(0,4),(1,2)])])
("a[-]?c",									[("ac", [(0,3)])])

("M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]",		[("Muammar Qaddafi", [(0,15),(-1,0),(10,2)]), ("Mo'ammar Gadhafi", [(0,16),(-1,0),(11,2)]), ("Muammar Kaddafi", [(0,15),(-1,0),(10,2)]), ("Muammar Qadhafi", [(0,15),(-1,0),(10,2)]), ("Muammar Gadafi", [(0,14),(-1,0),(10,1)]), ("Mu'ammar Qadafi", [(0,15),(-1,0),(11,1)]), ("Moamar Gaddafi", [(0,14),(-1,0),(9,2)]), ("Mu'ammar Qadhdhafi", [(0,18),(-1,0),(13,2)]), ("Muammar Khaddafi", [(0,16),(-1,0),(11,2)]), ("Muammar Ghaddafy", [(0,16),(-1,0),(11,2)]), ("Muammar Ghadafi", [(0,15),(-1,0),(11,1)]), ("Muammar Ghaddafi", [(0,16),(-1,0),(11,2)]), ("Muamar Kaddafi", [(0,14),(-1,0),(9,2)]), ("Muammar Quathafi", [(0,16),(-1,0),(11,2)]), ("Muammar Gheddafi", [(0,16),(-1,0),(11,2)]), ("Moammar Khadafy", [(0,15),(-1,0),(11,1)]), ("Moammar Qudhafi", [(0,15),(-1,0),(10,2)])])

("a+(b|c)*d+",									[("aabcdd", [(0,6),(3,1)])])
("^.+$",									[("vivi", [(0,4)])])
("^(.+)$",									[("vivi", [(0,4),(0,4)])])
("^([^!.]+).att.com!(.+)$",							[("gryphon.att.com!eby", [(0,19),(0,7),(16,3)])])

("^([^!]+!)?([^!]+)$",								[("bas", [(0,3),(-1,0),(0,3)]), ("bar!bas", [(0,7),(0,4),(4,3)]), ("foo!bas", [(0,7),(0,4),(4,3)])])
("^.+!([^!]+!)([^!]+)$",							[("foo!bar!bas", [(0,11),(4,4),(8,3)])])
("((foo)|(bar))!bas",								[("bar!bas", [(0,7),(0,3),(-1,0),(0,3)]), ("foo!bar!bas", [(4,7),(4,3),(-1,0),(4,3)]), ("foo!bas", [(0,7),(0,3),(0,3)])])	#NULL matches aren't found in 1st two tests.
("((foo)|bar)!bas",								[("bar!bas", [(0,7),(0,3)]), ("foo!bar!bas", [(4,7),(4,3)]), ("foo!bas", [(0,7),(0,3),(0,3)])])
("(foo|(bar))!bas",								[("bar!bas", [(0,7),(0,3),(0,3)]), ("foo!bar!bas", [(4,7),(4,3),(4,3)]), ("foo!bas", [(0,7),(0,3)])])
("(foo|bar)!bas",								[("bar!bas", [(0,7),(0,3)]), ("foo!bar!bas", [(4,7),(4,3)]), ("foo!bas", [(0,7),(0,3)])])
("^(([^!]+!)?([^!]+)|.+!([^!]+!)([^!]+))$",					[("bas", [(0,3),(0,3),(0,0),(0,3)]), ("bar!bas", [(0,7),(0,7),(0,4),(4,3)]), ("foo!bar!bas", [(0,11),(0,11),(0,0),(0,0),(4,4),(8,3)]), ("foo!bas", [(0,7),(0,7),(0,4),(4,3)])])	#4th fails; doesn't capture NULL groups defined in unselected (1st) alternative.
("^([^!]+!)?([^!]+)$|^.+!([^!]+!)([^!]+)$",					[("bas", [(0,3),(-1,0),(0,3)]), ("bar!bas", [(0,7),(0,4),(4,3)]), ("foo!bar!bas", [(0,11),(1,0),(-1,0),(4,4),(8,3)]), ("foo!bas", [(0,7),(0,4),(4,3)])])	#3rd fails.

(".*(/XXX).*",									[("/XXX", [(0,4),(0,4)])])
(".*(\\\\XXX).*",								[("\\XXX", [(0,4),(0,4)])])
("\\\\XXX",									[("\\XXX", [(0,4)])])
(".*(/000).*",									[("/000", [(0,4),(0,4)])])
(".*(\\\\000).*",								[("\\000", [(0,4),(0,4)])])
("\\\\000",									[("\\000", [(0,4)])])