#AUTHOR: Dr. Alistair Ward #DESCRIPTION: Designed to be read by the module "FunctionAlley.RegExChar.Assert.RegExOptsChar". #Based on . ("a+", [("xaax", [(1,2)])]) (".(a*).", [("xaax", [(0,4),(1,2)])]) ("(a?)((ab)?)", [("ab", [(0,2),(0,0),(0,2),(0,2)])]) #Returns [(0,1),(0,1),(1,0),(-1,0)] ("(a?)((ab)?)(b?)", [("ab", [(0,2),(0,1),(1,0),(-1,0),(1,1)])]) ("((a?)((ab)?))(b?)", [("ab", [(0,2),(0,2),(0,0),(0,2),(0,2),(2,0)])]) #Returns [(0,2),(0,1),(0,1),(1,0),(-1,0),(1,1)] ("(a?)(((ab)?)(b?))", [("ab", [(0,2),(0,1),(1,1),(1,0),(-1,0),(1,1)])]) ("(.?)", [("x", [(0,1),(0,1)])]) ("(.?){1}", [("x", [(0,1),(0,1)])]) ("(.?)(.?)", [("x", [(0,1),(0,1),(1,0)])]) ("(.?){2}", [("x", [(0,1),(1,0)])]) ("(.?)*", [("x", [(0,1),(0,1)])]) ("(.?.?)", [("xxx", [(0,2),(0,2)])]) ("(.?.?){1}", [("xxx", [(0,2),(0,2)])]) ("(.?.?)(.?.?)", [("xxx", [(0,3),(0,2),(2,1)])]) ("(.?.?){2}", [("xxx", [(0,3),(2,1)])]) ("(.?.?)(.?.?)(.?.?)", [("xxx", [(0,3),(0,2),(2,1),(3,0)])]) ("(.?.?){3}", [("xxx", [(0,3),(3,0)])]) ("(.?.?)*", [("xxx", [(0,3),(2,1)])]) ("a?((ab)?)(b?)", [("ab", [(0,2),(1,0),(-1,0),(1,1)])]) ("(a?)((ab)?)b?", [("ab", [(0,2),(0,1),(1,0),(-1,0)])]) ("a?((ab)?)b?", [("ab", [(0,2),(1,0),(-1,0)])]) ("(a*){2}", [("xxxxx", [(0,0),(0,0)])]) ("(ab?)(b?a)", [("aba", [(0,3),(0,2),(2,1)])]) ("(a|ab)(ba|a)", [("aba", [(0,3),(0,2),(2,1)])]) ("(a|ab|ba)", [("aba", [(0,2),(0,2)])]) ("(a|ab|ba)(a|ab|ba)", [("aba", [(0,3),(0,2),(2,1)])]) ("(a|ab|ba)*", [("aba", [(0,3),(2,1)])]) ("(aba|a*b)", [("ababa", [(0,3),(0,3)])]) ("(aba|a*b)(aba|a*b)", [("ababa", [(0,5),(0,2),(2,3)])]) #Returns [(0,4),(0,3),(3,1)] ("(aba|a*b)*", [("ababa", [(0,5),(2,3)])]) ("(aba|ab|a)", [("ababa", [(0,3),(0,3)])]) ("(aba|ab|a)(aba|ab|a)", [("ababa", [(0,5),(0,2),(2,3)])]) ("(aba|ab|a)*", [("ababa", [(0,5),(2,3)])]) ("(a(b)?)", [("aba", [(0,2),(0,2),(1,1)])]) ("(a(b)?)(a(b)?)", [("aba", [(0,3),(0,2),(1,1),(2,1),(-1,0)])]) #Returns [(0,3),(0,2),(1,1),(2,1),(3,0)] ("(a(b)?)+", [("aba", [(0,3),(2,1),(-1,0)])]) #Returns [(0,(0,3)),(1,(2,1)),(2,(3,0))] ("(.*)(.*)", [("xx", [(0,2),(0,2),(2,0)])]) (".*(.*)", [("xx", [(0,2),(2,0)])]) ("(a.*z|b.*y)", [("azbazby", [(0,5),(0,5)])]) ("(a.*z|b.*y)(a.*z|b.*y)", [("azbazby", [(0,7),(0,5),(5,2)])]) ("(a.*z|b.*y)*", [("azbazby", [(0,7),(5,2)])]) ("(.|..)(.*)", [("ab", [(0,2),(0,2),(2,0)])]) ("((..)*(...)*)", [("xxx", [(0,3),(0,3),(-1,0),(0,3)])]) #Returns [(0,2),(0,2),(0,2),(-1,0)] ("((..)*(...)*)((..)*(...)*)", [("xxx", [(0,3),(0,3),(-1,0),(0,3),(3,0),(-1,0)])]) #Returns [(0,2),(0,2),(0,2),(-1,0),(2,0),(-1,0),(-1,0)] ("((..)*(...)*)*", [("xxx", [(0,3),(0,3),(-1,0),(0,3)])]) #Returns [(0,2),(0,2),(0,2),(-1,0)] #Back-references haven't yet been implemented. #("(a{0,1})*b\1", [("ab", [(0,2),(1,0)])]) #("(a*)*b\1", [("ab", [(0,2),(1,0)])]) #("(a*)b\1*", [("ab", [(0,2),(0,1)])]) #("(a*)*b\1*", [("ab", [(0,2),(1,0)])]) #("(a{0,1})*b(\1)", [("ab", [(0,2),(1,0),(2,0)])]) #("(a*)*b(\1)", [("ab", [(0,2),(1,0),(2,0)])]) #("(a*)b(\1)*", [("ab", [(0,2),(0,1),(0,0)])]) #("(a*)*b(\1)*", [("ab", [(0,2),(1,0),(2,0)])]) #("(a{0,1})*b\1", [("aba", [(0,3),(0,1)])]) #("(a*)*b\1", [("aba", [(0,3),(0,1)])]) #("(a*)b\1*", [("aba", [(0,3),(0,1)])]) #("(a*)*b\1*", [("aba", [(0,3),(0,1)])]) #("(a*)*b(\1)*", [("aba", [(0,3),(0,1),(2,1)])]) #("(a{0,1})*b\1", [("abaa", [(0,3),(0,1)])]) #("(a*)*b\1", [("abaa", [(0,3),(0,1)])]) #("(a*)b\1*", [("abaa", [(0,4),(0,1)])]) #("(a*)*b\1*", [("abaa", [(0,4),(0,1)])]) #("(a*)*b(\1)*", [("abaa", [(0,4),(0,1),(3,1)])]) #("(a{0,1})*b\1", [("aab", [(0,3),(2,0)])]) #("(a*)*b\1", [("aab", [(0,3),(2,0)])]) #("(a*)b\1*", [("aab", [(0,3),(0,2)])]) #("(a*)*b\1*", [("aab", [(0,3),(2,0)])]) #("(a*)*b(\1)*", [("aab", [(0,3),(2,0),(3,0)])]) #("(a{0,1})*b\1", [("aaba", [(0,4),(1,1)])]) #("(a*)*b\1", [("aaba", [(0,4),(1,1)])]) #("(a*)b\1*", [("aaba", [(0,3),(0,2)])]) #("(a*)*b\1*", [("aaba", [(0,4),(1,1)])]) #("(a*)*b(\1)*", [("aaba", [(0,4),(1,1),(3,1)])]) #("(a{0,1})*b\1", [("aabaa", [(0,4),(1,1)])]) #("(a*)*b\1", [("aabaa", [(0,5),(0,2)])]) #("(a*)b\1*", [("aabaa", [(0,5),(0,2)])]) #("(a*)*b\1*", [("aabaa", [(0,5),(0,2)])]) #("(a*)*b(\1)*", [("aabaa", [(0,5),(0,2),(3,2)])]) #("(x)*a\1*", [("a", [(0,1),(1,0)])]) #("(x)*a(\1)*", [("a", [(0,1),(-1,0),(-1,0)])]) ("(aa(b(b))?)+", [("aabbaa", [(0,6),(4,2),(-1,0),(-1,0)])]) #Returns [(0,6),(4,2),(6,0)] ("(a(b)?)+", [("aba", [(0,3),(2,1),(-1,0)])]) #Returns [(0,3),(2,1),(3,0)] ("([ab]+)([bc]+)([cd]*)", [("abcd", [(0,4),(0,2),(2,1),(3,1)])]) #("([ab]*)([bc]*)([cd]*)\1", [("abcdaa", [(0,5),(0,1),(1,2),(3,1)]), ("abcdab", [(0,6),(0,2),(2,1),(3,1)])]) #("([ab]*)([bc]*)([cd]*)\1*", [("abcdaa", [(0,6),(0,1),(1,2),(3,1)]), ("abcdab", [(0,6),(0,2),(2,1),(3,1)])]) ("^(A([^B]*))?(B(.*))?", [("Aa", [(0,2),(0,2),(1,1)]), ("Bb", [(0,2),(-1,0),(-1,0),(0,2),(1,1)])]) #Returns [(0,2),(0,2),(1,1),(2,0)], [(0,2),(-1,0),(0,2),(1,1)] #(".*([AB]).*\1", [("ABA", [(0,3),(0,1)])]) ("[^A]*A", [("\nA", [(0,2)])])