blob: 632e1bb4165dbb363c10808d45788325eb22bb91 [file] [log] [blame]
Chih-Hung Hsiehe42c5052020-04-16 10:44:21 -07001NOTE all standard compliant implementations should pass these : 2002-05-31
2
3BE abracadabra$ abracadabracadabra (7,18)
4BE a...b abababbb (2,7)
5BE XXXXXX ..XXXXXX (2,8)
6E \) () (1,2)
7BE a] a]a (0,2)
8B } } (0,1)
9E \} } (0,1)
10BE \] ] (0,1)
11B ] ] (0,1)
12E ] ] (0,1)
13B { { (0,1)
14B } } (0,1)
15BE ^a ax (0,1)
16BE \^a a^a (1,3)
17BE a\^ a^ (0,2)
18BE a$ aa (1,2)
19BE a\$ a$ (0,2)
20BE ^$ NULL (0,0)
21E $^ NULL (0,0)
22E a($) aa (1,2)(2,2)
23E a*(^a) aa (0,1)(0,1)
24E (..)*(...)* a (0,0)
25E (..)*(...)* abcd (0,4)(2,4)
26E (ab|a)(bc|c) abc (0,3)(0,2)(2,3)
27E (ab)c|abc abc (0,3)(0,2)
28E a{0}b ab (1,2)
29E (a*)(b?)(b+)b{3} aaabbbbbbb (0,10)(0,3)(3,4)(4,7)
30E (a*)(b{0,1})(b{1,})b{3} aaabbbbbbb (0,10)(0,3)(3,4)(4,7)
31E a{9876543210} NULL BADBR
32E ((a|a)|a) a (0,1)(0,1)(0,1)
33E (a*)(a|aa) aaaa (0,4)(0,3)(3,4)
34E a*(a.|aa) aaaa (0,4)(2,4)
35E a(b)|c(d)|a(e)f aef (0,3)(?,?)(?,?)(1,2)
36E (a|b)?.* b (0,1)(0,1)
37E (a|b)c|a(b|c) ac (0,2)(0,1)
38E (a|b)c|a(b|c) ab (0,2)(?,?)(1,2)
39E (a|b)*c|(a|ab)*c abc (0,3)(1,2)
40E (a|b)*c|(a|ab)*c xc (1,2)
41E (.a|.b).*|.*(.a|.b) xa (0,2)(0,2)
42E a?(ab|ba)ab abab (0,4)(0,2)
43E a?(ac{0}b|ba)ab abab (0,4)(0,2)
44E ab|abab abbabab (0,2)
45E aba|bab|bba baaabbbaba (5,8)
46E aba|bab baaabbbaba (6,9)
47E (aa|aaa)*|(a|aaaaa) aa (0,2)(0,2)
48E (a.|.a.)*|(a|.a...) aa (0,2)(0,2)
49E ab|a xabc (1,3)
50E ab|a xxabc (2,4)
51Ei (?-u)(Ab|cD)* aBcD (0,4)(2,4)
52BE [^-] --a (2,3)
53BE [a-]* --a (0,3)
54BE [a-m-]* --amoma-- (0,4)
55E :::1:::0:|:::1:1:0: :::0:::1:::1:::0: (8,17)
56E :::1:::0:|:::1:1:1: :::0:::1:::1:::0: (8,17)
57{E [[:upper:]] A (0,1) [[<element>]] not supported
58E [[:lower:]]+ `az{ (1,3)
59E [[:upper:]]+ @AZ[ (1,3)
60# No collation in Go
61#BE [[-]] [[-]] (2,4)
62#BE [[.NIL.]] NULL ECOLLATE
63#BE [[=aleph=]] NULL ECOLLATE
64}
65BE$ \n \n (0,1)
66BEn$ \n \n (0,1)
67BE$ [^a] \n (0,1)
68BE$ \na \na (0,2)
69E (a)(b)(c) abc (0,3)(0,1)(1,2)(2,3)
70BE xxx xxx (0,3)
71E1 (^|[ (,;])((([Ff]eb[^ ]* *|0*2/|\* */?)0*[6-7]))([^0-9]|$) feb 6, (0,6)
72E1 (^|[ (,;])((([Ff]eb[^ ]* *|0*2/|\* */?)0*[6-7]))([^0-9]|$) 2/7 (0,3)
73E1 (^|[ (,;])((([Ff]eb[^ ]* *|0*2/|\* */?)0*[6-7]))([^0-9]|$) feb 1,Feb 6 (5,11)
74E3 ((((((((((((((((((((((((((((((x)))))))))))))))))))))))))))))) x (0,1)(0,1)(0,1)
75E3 ((((((((((((((((((((((((((((((x))))))))))))))))))))))))))))))* xx (0,2)(1,2)(1,2)
76E a?(ab|ba)* ababababababababababababababababababababababababababababababababababababababababa (0,81)(79,81)
77E abaa|abbaa|abbbaa|abbbbaa ababbabbbabbbabbbbabbbbaa (18,25)
78E abaa|abbaa|abbbaa|abbbbaa ababbabbbabbbabbbbabaa (18,22)
79E aaac|aabc|abac|abbc|baac|babc|bbac|bbbc baaabbbabac (7,11)
80BE$ .* \x01\x7f (0,2)
81E aaaa|bbbb|cccc|ddddd|eeeeee|fffffff|gggg|hhhh|iiiii|jjjjj|kkkkk|llll XaaaXbbbXcccXdddXeeeXfffXgggXhhhXiiiXjjjXkkkXlllXcbaXaaaa (53,57)
82L aaaa\nbbbb\ncccc\nddddd\neeeeee\nfffffff\ngggg\nhhhh\niiiii\njjjjj\nkkkkk\nllll XaaaXbbbXcccXdddXeeeXfffXgggXhhhXiiiXjjjXkkkXlllXcbaXaaaa NOMATCH
83E a*a*a*a*a*b aaaaaaaaab (0,10)
84BE ^ NULL (0,0)
85BE $ NULL (0,0)
86BE ^$ NULL (0,0)
87BE ^a$ a (0,1)
88BE abc abc (0,3)
89BE abc xabcy (1,4)
90BE abc ababc (2,5)
91BE ab*c abc (0,3)
92BE ab*bc abc (0,3)
93BE ab*bc abbc (0,4)
94BE ab*bc abbbbc (0,6)
95E ab+bc abbc (0,4)
96E ab+bc abbbbc (0,6)
97E ab?bc abbc (0,4)
98E ab?bc abc (0,3)
99E ab?c abc (0,3)
100BE ^abc$ abc (0,3)
101BE ^abc abcc (0,3)
102BE abc$ aabc (1,4)
103BE ^ abc (0,0)
104BE $ abc (3,3)
105BE a.c abc (0,3)
106BE a.c axc (0,3)
107BE a.*c axyzc (0,5)
108BE a[bc]d abd (0,3)
109BE a[b-d]e ace (0,3)
110BE a[b-d] aac (1,3)
111BE a[-b] a- (0,2)
112BE a[b-] a- (0,2)
113BE a] a] (0,2)
114BE a[]]b a]b (0,3)
115BE a[^bc]d aed (0,3)
116BE a[^-b]c adc (0,3)
117BE a[^]b]c adc (0,3)
118E ab|cd abc (0,2)
119E ab|cd abcd (0,2)
120E a\(b a(b (0,3)
121E a\(*b ab (0,2)
122E a\(*b a((b (0,4)
123E ((a)) abc (0,1)(0,1)(0,1)
124E (a)b(c) abc (0,3)(0,1)(2,3)
125E a+b+c aabbabc (4,7)
126E a* aaa (0,3)
127#E (a*)* - (0,0)(0,0)
128E (a*)* - (0,0)(?,?) RE2/Go
129E (a*)+ - (0,0)(0,0)
130#E (a*|b)* - (0,0)(0,0)
131E (a*|b)* - (0,0)(?,?) RE2/Go
132E (a+|b)* ab (0,2)(1,2)
133E (a+|b)+ ab (0,2)(1,2)
134E (a+|b)? ab (0,1)(0,1)
135BE [^ab]* cde (0,3)
136#E (^)* - (0,0)(0,0)
137E (^)* - (0,0)(?,?) RE2/Go
138BE a* NULL (0,0)
139E ([abc])*d abbbcd (0,6)(4,5)
140E ([abc])*bcd abcd (0,4)(0,1)
141E a|b|c|d|e e (0,1)
142E (a|b|c|d|e)f ef (0,2)(0,1)
143#E ((a*|b))* - (0,0)(0,0)(0,0)
144E ((a*|b))* - (0,0)(?,?)(?,?) RE2/Go
145BE abcd*efg abcdefg (0,7)
146BE ab* xabyabbbz (1,3)
147BE ab* xayabbbz (1,2)
148E (ab|cd)e abcde (2,5)(2,4)
149BE [abhgefdc]ij hij (0,3)
150E (a|b)c*d abcd (1,4)(1,2)
151E (ab|ab*)bc abc (0,3)(0,1)
152E a([bc]*)c* abc (0,3)(1,3)
153E a([bc]*)(c*d) abcd (0,4)(1,3)(3,4)
154E a([bc]+)(c*d) abcd (0,4)(1,3)(3,4)
155E a([bc]*)(c+d) abcd (0,4)(1,2)(2,4)
156E a[bcd]*dcdcde adcdcde (0,7)
157E (ab|a)b*c abc (0,3)(0,2)
158E ((a)(b)c)(d) abcd (0,4)(0,3)(0,1)(1,2)(3,4)
159BE [A-Za-z_][A-Za-z0-9_]* alpha (0,5)
160E ^a(bc+|b[eh])g|.h$ abh (1,3)
161E (bc+d$|ef*g.|h?i(j|k)) effgz (0,5)(0,5)
162E (bc+d$|ef*g.|h?i(j|k)) ij (0,2)(0,2)(1,2)
163E (bc+d$|ef*g.|h?i(j|k)) reffgz (1,6)(1,6)
164E (((((((((a))))))))) a (0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)
165BE multiple words multiple words yeah (0,14)
166E (.*)c(.*) abcde (0,5)(0,2)(3,5)
167BE abcd abcd (0,4)
168E a(bc)d abcd (0,4)(1,3)
169E a[-]?c ac (0,3)
170E M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Muammar Qaddafi (0,15)(?,?)(10,12)
171E M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Mo'ammar Gadhafi (0,16)(?,?)(11,13)
172E M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Muammar Kaddafi (0,15)(?,?)(10,12)
173E M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Muammar Qadhafi (0,15)(?,?)(10,12)
174E M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Muammar Gadafi (0,14)(?,?)(10,11)
175E M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Mu'ammar Qadafi (0,15)(?,?)(11,12)
176E M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Moamar Gaddafi (0,14)(?,?)(9,11)
177E M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Mu'ammar Qadhdhafi (0,18)(?,?)(13,15)
178E M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Muammar Khaddafi (0,16)(?,?)(11,13)
179E M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Muammar Ghaddafy (0,16)(?,?)(11,13)
180E M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Muammar Ghadafi (0,15)(?,?)(11,12)
181E M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Muammar Ghaddafi (0,16)(?,?)(11,13)
182E M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Muamar Kaddafi (0,14)(?,?)(9,11)
183E M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Muammar Quathafi (0,16)(?,?)(11,13)
184E M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Muammar Gheddafi (0,16)(?,?)(11,13)
185E M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Moammar Khadafy (0,15)(?,?)(11,12)
186E M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Moammar Qudhafi (0,15)(?,?)(10,12)
187E a+(b|c)*d+ aabcdd (0,6)(3,4)
188E ^.+$ vivi (0,4)
189E ^(.+)$ vivi (0,4)(0,4)
190E ^([^!.]+).att.com!(.+)$ gryphon.att.com!eby (0,19)(0,7)(16,19)
191E ^([^!]+!)?([^!]+)$ bas (0,3)(?,?)(0,3)
192E ^([^!]+!)?([^!]+)$ bar!bas (0,7)(0,4)(4,7)
193E ^([^!]+!)?([^!]+)$ foo!bas (0,7)(0,4)(4,7)
194E ^.+!([^!]+!)([^!]+)$ foo!bar!bas (0,11)(4,8)(8,11)
195E ((foo)|(bar))!bas bar!bas (0,7)(0,3)(?,?)(0,3)
196E ((foo)|(bar))!bas foo!bar!bas (4,11)(4,7)(?,?)(4,7)
197E ((foo)|(bar))!bas foo!bas (0,7)(0,3)(0,3)
198E ((foo)|bar)!bas bar!bas (0,7)(0,3)
199E ((foo)|bar)!bas foo!bar!bas (4,11)(4,7)
200E ((foo)|bar)!bas foo!bas (0,7)(0,3)(0,3)
201E (foo|(bar))!bas bar!bas (0,7)(0,3)(0,3)
202E (foo|(bar))!bas foo!bar!bas (4,11)(4,7)(4,7)
203E (foo|(bar))!bas foo!bas (0,7)(0,3)
204E (foo|bar)!bas bar!bas (0,7)(0,3)
205E (foo|bar)!bas foo!bar!bas (4,11)(4,7)
206E (foo|bar)!bas foo!bas (0,7)(0,3)
207E ^(([^!]+!)?([^!]+)|.+!([^!]+!)([^!]+))$ foo!bar!bas (0,11)(0,11)(?,?)(?,?)(4,8)(8,11)
208E ^([^!]+!)?([^!]+)$|^.+!([^!]+!)([^!]+)$ bas (0,3)(?,?)(0,3)
209E ^([^!]+!)?([^!]+)$|^.+!([^!]+!)([^!]+)$ bar!bas (0,7)(0,4)(4,7)
210E ^([^!]+!)?([^!]+)$|^.+!([^!]+!)([^!]+)$ foo!bar!bas (0,11)(?,?)(?,?)(4,8)(8,11)
211E ^([^!]+!)?([^!]+)$|^.+!([^!]+!)([^!]+)$ foo!bas (0,7)(0,4)(4,7)
212E ^(([^!]+!)?([^!]+)|.+!([^!]+!)([^!]+))$ bas (0,3)(0,3)(?,?)(0,3)
213E ^(([^!]+!)?([^!]+)|.+!([^!]+!)([^!]+))$ bar!bas (0,7)(0,7)(0,4)(4,7)
214E ^(([^!]+!)?([^!]+)|.+!([^!]+!)([^!]+))$ foo!bar!bas (0,11)(0,11)(?,?)(?,?)(4,8)(8,11)
215E ^(([^!]+!)?([^!]+)|.+!([^!]+!)([^!]+))$ foo!bas (0,7)(0,7)(0,4)(4,7)
216E .*(/XXX).* /XXX (0,4)(0,4)
217E .*(\\XXX).* \XXX (0,4)(0,4)
218E \\XXX \XXX (0,4)
219E .*(/000).* /000 (0,4)(0,4)
220E .*(\\000).* \000 (0,4)(0,4)
221E \\000 \000 (0,4)