Clarify portability and main program.
[python/dscho.git] / Lib / test / output / test_re
blobc0a836659ffa9ce5fa2f6891b39f82076f5d5da2
1 test_re
2 ('abc', 'abc', 0, 'found', 'abc')
3 ('abc', 'xbc', 1)
4 ('abc', 'axc', 1)
5 ('abc', 'abx', 1)
6 ('abc', 'xabcy', 0, 'found', 'abc')
7 ('abc', 'ababc', 0, 'found', 'abc')
8 ('ab*c', 'abc', 0, 'found', 'abc')
9 ('ab*bc', 'abc', 0, 'found', 'abc')
10 ('ab*bc', 'abbc', 0, 'found', 'abbc')
11 ('ab*bc', 'abbbbc', 0, 'found', 'abbbbc')
12 ('ab+bc', 'abbc', 0, 'found', 'abbc')
13 ('ab+bc', 'abc', 1)
14 ('ab+bc', 'abq', 1)
15 ('ab+bc', 'abbbbc', 0, 'found', 'abbbbc')
16 ('ab?bc', 'abbc', 0, 'found', 'abbc')
17 ('ab?bc', 'abc', 0, 'found', 'abc')
18 ('ab?bc', 'abbbbc', 1)
19 ('ab?c', 'abc', 0, 'found', 'abc')
20 ('^abc$', 'abc', 0, 'found', 'abc')
21 ('^abc$', 'abcc', 1)
22 ('^abc', 'abcc', 0, 'found', 'abc')
23 ('^abc$', 'aabc', 1)
24 ('abc$', 'aabc', 0, 'found', 'abc')
25 ('^', 'abc', 0, 'found+"-"', '-')
26 ('$', 'abc', 0, 'found+"-"', '-')
27 ('a.c', 'abc', 0, 'found', 'abc')
28 ('a.c', 'axc', 0, 'found', 'axc')
29 ('a.*c', 'axyzc', 0, 'found', 'axyzc')
30 ('a.*c', 'axyzd', 1)
31 ('a[bc]d', 'abc', 1)
32 ('a[bc]d', 'abd', 0, 'found', 'abd')
33 ('a[b-d]e', 'abd', 1)
34 ('a[b-d]e', 'ace', 0, 'found', 'ace')
35 ('a[b-d]', 'aac', 0, 'found', 'ac')
36 ('a[-b]', 'a-', 0, 'found', 'a-')
37 ('a[\\-b]', 'a-', 0, 'found', 'a-')
38 ('a[b-]', 'a-', 2)
39 ('a[]b', '-', 2)
40 ('a[', '-', 2)
41 ('a\\', '-', 2)
42 ('abc)', '-', 2)
43 ('(abc', '-', 2)
44 ('a]', 'a]', 0, 'found', 'a]')
45 ('a[]]b', 'a]b', 0, 'found', 'a]b')
46 ('a[\\]]b', 'a]b', 0, 'found', 'a]b')
47 ('a[^bc]d', 'aed', 0, 'found', 'aed')
48 ('a[^bc]d', 'abd', 1)
49 ('a[^-b]c', 'adc', 0, 'found', 'adc')
50 ('a[^-b]c', 'a-c', 1)
51 ('a[^]b]c', 'a]c', 1)
52 ('a[^]b]c', 'adc', 0, 'found', 'adc')
53 ('\\ba\\b', 'a-', 0, '"-"', '-')
54 ('\\ba\\b', '-a', 0, '"-"', '-')
55 ('\\ba\\b', '-a-', 0, '"-"', '-')
56 ('\\by\\b', 'xy', 1)
57 ('\\by\\b', 'yz', 1)
58 ('\\by\\b', 'xyz', 1)
59 ('ab|cd', 'abc', 0, 'found', 'ab')
60 ('ab|cd', 'abcd', 0, 'found', 'ab')
61 ('()ef', 'def', 0, 'found+"-"+g1', 'ef-')
62 ('$b', 'b', 1)
63 ('a\\(b', 'a(b', 0, 'found+"-"+g1', 'a(b-Error')
64 ('a\\(*b', 'ab', 0, 'found', 'ab')
65 ('a\\(*b', 'a((b', 0, 'found', 'a((b')
66 ('a\\\\b', 'a\\b', 0, 'found', 'a\\b')
67 ('((a))', 'abc', 0, 'found+"-"+g1+"-"+g2', 'a-a-a')
68 ('(a)b(c)', 'abc', 0, 'found+"-"+g1+"-"+g2', 'abc-a-c')
69 ('a+b+c', 'aabbabc', 0, 'found', 'abc')
70 ('(a+|b)*', 'ab', 0, 'found+"-"+g1', 'ab-b')
71 ('(a+|b)+', 'ab', 0, 'found+"-"+g1', 'ab-b')
72 ('(a+|b)?', 'ab', 0, 'found+"-"+g1', 'a-a')
73 (')(', '-', 2)
74 ('[^ab]*', 'cde', 0, 'found', 'cde')
75 ('abc', '', 1)
76 ('a*', '', 0, 'found', '')
77 ('a|b|c|d|e', 'e', 0, 'found', 'e')
78 ('(a|b|c|d|e)f', 'ef', 0, 'found+"-"+g1', 'ef-e')
79 ('abcd*efg', 'abcdefg', 0, 'found', 'abcdefg')
80 ('ab*', 'xabyabbbz', 0, 'found', 'ab')
81 ('ab*', 'xayabbbz', 0, 'found', 'a')
82 ('(ab|cd)e', 'abcde', 0, 'found+"-"+g1', 'cde-cd')
83 ('[abhgefdc]ij', 'hij', 0, 'found', 'hij')
84 ('^(ab|cd)e', 'abcde', 1, 'xg1y', 'xy')
85 ('(abc|)ef', 'abcdef', 0, 'found+"-"+g1', 'ef-')
86 ('(a|b)c*d', 'abcd', 0, 'found+"-"+g1', 'bcd-b')
87 ('(ab|ab*)bc', 'abc', 0, 'found+"-"+g1', 'abc-a')
88 ('a([bc]*)c*', 'abc', 0, 'found+"-"+g1', 'abc-bc')
89 ('a([bc]*)(c*d)', 'abcd', 0, 'found+"-"+g1+"-"+g2', 'abcd-bc-d')
90 ('a([bc]+)(c*d)', 'abcd', 0, 'found+"-"+g1+"-"+g2', 'abcd-bc-d')
91 ('a([bc]*)(c+d)', 'abcd', 0, 'found+"-"+g1+"-"+g2', 'abcd-b-cd')
92 ('a[bcd]*dcdcde', 'adcdcde', 0, 'found', 'adcdcde')
93 ('a[bcd]+dcdcde', 'adcdcde', 1)
94 ('(ab|a)b*c', 'abc', 0, 'found+"-"+g1', 'abc-ab')
95 ('((a)(b)c)(d)', 'abcd', 0, 'g1+"-"+g2+"-"+g3+"-"+g4', 'abc-a-b-d')
96 ('[a-zA-Z_][a-zA-Z0-9_]*', 'alpha', 0, 'found', 'alpha')
97 ('^a(bc+|b[eh])g|.h$', 'abh', 0, 'found+"-"+g1', 'bh-None')
98 ('(bc+d$|ef*g.|h?i(j|k))', 'effgz', 0, 'found+"-"+g1+"-"+g2', 'effgz-effgz-None')
99 ('(bc+d$|ef*g.|h?i(j|k))', 'ij', 0, 'found+"-"+g1+"-"+g2', 'ij-ij-j')
100 ('(bc+d$|ef*g.|h?i(j|k))', 'effg', 1)
101 ('(bc+d$|ef*g.|h?i(j|k))', 'bcdd', 1)
102 ('(bc+d$|ef*g.|h?i(j|k))', 'reffgz', 0, 'found+"-"+g1+"-"+g2', 'effgz-effgz-None')
103 ('(((((((((a)))))))))', 'a', 0, 'found', 'a')
104 ('multiple words of text', 'uh-uh', 1)
105 ('multiple words', 'multiple words, yeah', 0, 'found', 'multiple words')
106 ('(.*)c(.*)', 'abcde', 0, 'found+"-"+g1+"-"+g2', 'abcde-ab-de')
107 ('\\((.*), (.*)\\)', '(a, b)', 0, 'g2+"-"+g1', 'b-a')
108 ('[k]', 'ab', 1)
109 ('a[-]?c', 'ac', 0, 'found', 'ac')
110 ('(abc)\\1', 'abcabc', 0, 'g1', 'abc')
111 ('([a-c]*)\\1', 'abcabc', 0, 'g1', 'abc')
112 ('^(.+)?B', 'AB', 0, 'g1', 'A')
113 ('(a+).\\1$', 'aaaaa', 0, 'found+"-"+g1', 'aaaaa-aa')
114 ('^(a+).\\1$', 'aaaa', 1)
115 ('(abc)\\1', 'abcabc', 0, 'found+"-"+g1', 'abcabc-abc')
116 ('([a-c]+)\\1', 'abcabc', 0, 'found+"-"+g1', 'abcabc-abc')
117 ('(a)\\1', 'aa', 0, 'found+"-"+g1', 'aa-a')
118 ('(a+)\\1', 'aa', 0, 'found+"-"+g1', 'aa-a')
119 ('(a+)+\\1', 'aa', 0, 'found+"-"+g1', 'aa-a')
120 ('(a).+\\1', 'aba', 0, 'found+"-"+g1', 'aba-a')
121 ('(a)ba*\\1', 'aba', 0, 'found+"-"+g1', 'aba-a')
122 ('(aa|a)a\\1$', 'aaa', 0, 'found+"-"+g1', 'aaa-a')
123 ('(a|aa)a\\1$', 'aaa', 0, 'found+"-"+g1', 'aaa-a')
124 ('(a+)a\\1$', 'aaa', 0, 'found+"-"+g1', 'aaa-a')
125 ('([abc]*)\\1', 'abcabc', 0, 'found+"-"+g1', 'abcabc-abc')
126 ('(a)(b)c|ab', 'ab', 0, 'found+"-"+g1+"-"+g2', 'ab-None-None')
127 ('(a)+x', 'aaax', 0, 'found+"-"+g1', 'aaax-a')
128 ('([ac])+x', 'aacx', 0, 'found+"-"+g1', 'aacx-c')
129 ('([^/]*/)*sub1/', 'd:msgs/tdir/sub1/trial/away.cpp', 0, 'found+"-"+g1', 'd:msgs/tdir/sub1/-tdir/')
130 ('([^.]*)\\.([^:]*):[T ]+(.*)', 'track1.title:TBlah blah blah', 0, 'found+"-"+g1+"-"+g2+"-"+g3', 'track1.title:TBlah blah blah-track1-title-Blah blah blah')
131 ('([^N]*N)+', 'abNNxyzN', 0, 'found+"-"+g1', 'abNNxyzN-xyzN')
132 ('([^N]*N)+', 'abNNxyz', 0, 'found+"-"+g1', 'abNN-N')
133 ('([abc]*)x', 'abcx', 0, 'found+"-"+g1', 'abcx-abc')
134 ('([abc]*)x', 'abc', 1)
135 ('([xyz]*)x', 'abcx', 0, 'found+"-"+g1', 'x-')
136 ('(a)+b|aac', 'aac', 0, 'found+"-"+g1', 'aac-None')
137 ('(?P<i d>aaa)a', 'aaaa', 2)
138 ('(?P<id>aaa)a', 'aaaa', 0, 'found+"-"+id', 'aaaa-aaa')
139 ('(?P<id>aa)(?P=id)', 'aaaa', 0, 'found+"-"+id', 'aaaa-aa')
140 ('(?P<id>aa)(?P=xd)', 'aaaa', 2)
141 ('\\1', 'a', 2)
142 ('\\09', '\0009', 0, 'found', '\0009')
143 ('\\141', 'a', 0, 'found', 'a')
144 ('(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)\\119', 'abcdefghijklk9', 0, 'found+"-"+g11', 'abcdefghijklk9-k')
145 ('abc', 'abc', 0, 'found', 'abc')
146 ('abc', 'xbc', 1)
147 ('abc', 'axc', 1)
148 ('abc', 'abx', 1)
149 ('abc', 'xabcy', 0, 'found', 'abc')
150 ('abc', 'ababc', 0, 'found', 'abc')
151 ('ab*c', 'abc', 0, 'found', 'abc')
152 ('ab*bc', 'abc', 0, 'found', 'abc')
153 ('ab*bc', 'abbc', 0, 'found', 'abbc')
154 ('ab*bc', 'abbbbc', 0, 'found', 'abbbbc')
155 ('ab{0,}bc', 'abbbbc', 0, 'found', 'abbbbc')
156 ('ab+bc', 'abbc', 0, 'found', 'abbc')
157 ('ab+bc', 'abc', 1)
158 ('ab+bc', 'abq', 1)
159 ('ab{1,}bc', 'abq', 1)
160 ('ab+bc', 'abbbbc', 0, 'found', 'abbbbc')
161 ('ab{1,}bc', 'abbbbc', 0, 'found', 'abbbbc')
162 ('ab{1,3}bc', 'abbbbc', 0, 'found', 'abbbbc')
163 ('ab{3,4}bc', 'abbbbc', 0, 'found', 'abbbbc')
164 ('ab{4,5}bc', 'abbbbc', 1)
165 ('ab?bc', 'abbc', 0, 'found', 'abbc')
166 ('ab?bc', 'abc', 0, 'found', 'abc')
167 ('ab{0,1}bc', 'abc', 0, 'found', 'abc')
168 ('ab?bc', 'abbbbc', 1)
169 ('ab?c', 'abc', 0, 'found', 'abc')
170 ('ab{0,1}c', 'abc', 0, 'found', 'abc')
171 ('^abc$', 'abc', 0, 'found', 'abc')
172 ('^abc$', 'abcc', 1)
173 ('^abc', 'abcc', 0, 'found', 'abc')
174 ('^abc$', 'aabc', 1)
175 ('abc$', 'aabc', 0, 'found', 'abc')
176 ('^', 'abc', 0, 'found', '')
177 ('$', 'abc', 0, 'found', '')
178 ('a.c', 'abc', 0, 'found', 'abc')
179 ('a.c', 'axc', 0, 'found', 'axc')
180 ('a.*c', 'axyzc', 0, 'found', 'axyzc')
181 ('a.*c', 'axyzd', 1)
182 ('a[bc]d', 'abc', 1)
183 ('a[bc]d', 'abd', 0, 'found', 'abd')
184 ('a[b-d]e', 'abd', 1)
185 ('a[b-d]e', 'ace', 0, 'found', 'ace')
186 ('a[b-d]', 'aac', 0, 'found', 'ac')
187 ('a[-b]', 'a-', 0, 'found', 'a-')
188 ('a[b-]', 'a-', 0, 'found', 'a-')
189 ('a[b-a]', '-', 2)
190 ('a[]b', '-', 2)
191 ('a[', '-', 2)
192 ('a]', 'a]', 0, 'found', 'a]')
193 ('a[]]b', 'a]b', 0, 'found', 'a]b')
194 ('a[^bc]d', 'aed', 0, 'found', 'aed')
195 ('a[^bc]d', 'abd', 1)
196 ('a[^-b]c', 'adc', 0, 'found', 'adc')
197 ('a[^-b]c', 'a-c', 1)
198 ('a[^]b]c', 'a]c', 1)
199 ('a[^]b]c', 'adc', 0, 'found', 'adc')
200 ('ab|cd', 'abc', 0, 'found', 'ab')
201 ('ab|cd', 'abcd', 0, 'found', 'ab')
202 ('()ef', 'def', 0, 'found+"-"+g1', 'ef-')
203 ('*a', '-', 2)
204 ('(*)b', '-', 2)
205 ('$b', 'b', 1)
206 ('a\\', '-', 2)
207 ('a\\(b', 'a(b', 0, 'found+"-"+g1', 'a(b-Error')
208 ('a\\(*b', 'ab', 0, 'found', 'ab')
209 ('a\\(*b', 'a((b', 0, 'found', 'a((b')
210 ('a\\\\b', 'a\\b', 0, 'found', 'a\\b')
211 ('abc)', '-', 2)
212 ('(abc', '-', 2)
213 ('((a))', 'abc', 0, 'found+"-"+g1+"-"+g2', 'a-a-a')
214 ('(a)b(c)', 'abc', 0, 'found+"-"+g1+"-"+g2', 'abc-a-c')
215 ('a+b+c', 'aabbabc', 0, 'found', 'abc')
216 ('a{1,}b{1,}c', 'aabbabc', 0, 'found', 'abc')
217 ('a**', '-', 2)
218 ('a.+?c', 'abcabc', 0, 'found', 'abc')
219 ('(a+|b)*', 'ab', 0, 'found+"-"+g1', 'ab-b')
220 ('(a+|b){0,}', 'ab', 0, 'found+"-"+g1', 'ab-b')
221 ('(a+|b)+', 'ab', 0, 'found+"-"+g1', 'ab-b')
222 ('(a+|b){1,}', 'ab', 0, 'found+"-"+g1', 'ab-b')
223 ('(a+|b)?', 'ab', 0, 'found+"-"+g1', 'a-a')
224 ('(a+|b){0,1}', 'ab', 0, 'found+"-"+g1', 'a-a')
225 (')(', '-', 2)
226 ('[^ab]*', 'cde', 0, 'found', 'cde')
227 ('abc', '', 1)
228 ('a*', '', 0, 'found', '')
229 ('([abc])*d', 'abbbcd', 0, 'found+"-"+g1', 'abbbcd-c')
230 ('([abc])*bcd', 'abcd', 0, 'found+"-"+g1', 'abcd-a')
231 ('a|b|c|d|e', 'e', 0, 'found', 'e')
232 ('(a|b|c|d|e)f', 'ef', 0, 'found+"-"+g1', 'ef-e')
233 ('abcd*efg', 'abcdefg', 0, 'found', 'abcdefg')
234 ('ab*', 'xabyabbbz', 0, 'found', 'ab')
235 ('ab*', 'xayabbbz', 0, 'found', 'a')
236 ('(ab|cd)e', 'abcde', 0, 'found+"-"+g1', 'cde-cd')
237 ('[abhgefdc]ij', 'hij', 0, 'found', 'hij')
238 ('^(ab|cd)e', 'abcde', 1)
239 ('(abc|)ef', 'abcdef', 0, 'found+"-"+g1', 'ef-')
240 ('(a|b)c*d', 'abcd', 0, 'found+"-"+g1', 'bcd-b')
241 ('(ab|ab*)bc', 'abc', 0, 'found+"-"+g1', 'abc-a')
242 ('a([bc]*)c*', 'abc', 0, 'found+"-"+g1', 'abc-bc')
243 ('a([bc]*)(c*d)', 'abcd', 0, 'found+"-"+g1+"-"+g2', 'abcd-bc-d')
244 ('a([bc]+)(c*d)', 'abcd', 0, 'found+"-"+g1+"-"+g2', 'abcd-bc-d')
245 ('a([bc]*)(c+d)', 'abcd', 0, 'found+"-"+g1+"-"+g2', 'abcd-b-cd')
246 ('a[bcd]*dcdcde', 'adcdcde', 0, 'found', 'adcdcde')
247 ('a[bcd]+dcdcde', 'adcdcde', 1)
248 ('(ab|a)b*c', 'abc', 0, 'found+"-"+g1', 'abc-ab')
249 ('((a)(b)c)(d)', 'abcd', 0, 'g1+"-"+g2+"-"+g3+"-"+g4', 'abc-a-b-d')
250 ('[a-zA-Z_][a-zA-Z0-9_]*', 'alpha', 0, 'found', 'alpha')
251 ('^a(bc+|b[eh])g|.h$', 'abh', 0, 'found+"-"+g1', 'bh-None')
252 ('(bc+d$|ef*g.|h?i(j|k))', 'effgz', 0, 'found+"-"+g1+"-"+g2', 'effgz-effgz-None')
253 ('(bc+d$|ef*g.|h?i(j|k))', 'ij', 0, 'found+"-"+g1+"-"+g2', 'ij-ij-j')
254 ('(bc+d$|ef*g.|h?i(j|k))', 'effg', 1)
255 ('(bc+d$|ef*g.|h?i(j|k))', 'bcdd', 1)
256 ('(bc+d$|ef*g.|h?i(j|k))', 'reffgz', 0, 'found+"-"+g1+"-"+g2', 'effgz-effgz-None')
257 ('((((((((((a))))))))))', 'a', 0, 'g10', 'a')
258 ('((((((((((a))))))))))\\10', 'aa', 0, 'found', 'aa')
259 ('((((((((((a))))))))))\\41', '', 2)
260 ('(((((((((a)))))))))', 'a', 0, 'found', 'a')
261 ('multiple words of text', 'uh-uh', 1)
262 ('multiple words', 'multiple words, yeah', 0, 'found', 'multiple words')
263 ('(.*)c(.*)', 'abcde', 0, 'found+"-"+g1+"-"+g2', 'abcde-ab-de')
264 ('\\((.*), (.*)\\)', '(a, b)', 0, 'g2+"-"+g1', 'b-a')
265 ('[k]', 'ab', 1)
266 ('a[-]?c', 'ac', 0, 'found', 'ac')
267 ('(abc)\\1', 'abcabc', 0, 'g1', 'abc')
268 ('([a-c]*)\\1', 'abcabc', 0, 'g1', 'abc')
269 ('(?i)abc', 'ABC', 0, 'found', 'ABC')
270 ('(?i)abc', 'XBC', 1)
271 ('(?i)abc', 'AXC', 1)
272 ('(?i)abc', 'ABX', 1)
273 ('(?i)abc', 'XABCY', 0, 'found', 'ABC')
274 ('(?i)abc', 'ABABC', 0, 'found', 'ABC')
275 ('(?i)ab*c', 'ABC', 0, 'found', 'ABC')
276 ('(?i)ab*bc', 'ABC', 0, 'found', 'ABC')
277 ('(?i)ab*bc', 'ABBC', 0, 'found', 'ABBC')
278 ('(?i)ab*?bc', 'ABBBBC', 0, 'found', 'ABBBBC')
279 ('(?i)ab{0,}?bc', 'ABBBBC', 0, 'found', 'ABBBBC')
280 ('(?i)ab+?bc', 'ABBC', 0, 'found', 'ABBC')
281 ('(?i)ab+bc', 'ABC', 1)
282 ('(?i)ab+bc', 'ABQ', 1)
283 ('(?i)ab{1,}bc', 'ABQ', 1)
284 ('(?i)ab+bc', 'ABBBBC', 0, 'found', 'ABBBBC')
285 ('(?i)ab{1,}?bc', 'ABBBBC', 0, 'found', 'ABBBBC')
286 ('(?i)ab{1,3}?bc', 'ABBBBC', 0, 'found', 'ABBBBC')
287 ('(?i)ab{3,4}?bc', 'ABBBBC', 0, 'found', 'ABBBBC')
288 ('(?i)ab{4,5}?bc', 'ABBBBC', 1)
289 ('(?i)ab??bc', 'ABBC', 0, 'found', 'ABBC')
290 ('(?i)ab??bc', 'ABC', 0, 'found', 'ABC')
291 ('(?i)ab{0,1}?bc', 'ABC', 0, 'found', 'ABC')
292 ('(?i)ab??bc', 'ABBBBC', 1)
293 ('(?i)ab??c', 'ABC', 0, 'found', 'ABC')
294 ('(?i)ab{0,1}?c', 'ABC', 0, 'found', 'ABC')
295 ('(?i)^abc$', 'ABC', 0, 'found', 'ABC')
296 ('(?i)^abc$', 'ABCC', 1)
297 ('(?i)^abc', 'ABCC', 0, 'found', 'ABC')
298 ('(?i)^abc$', 'AABC', 1)
299 ('(?i)abc$', 'AABC', 0, 'found', 'ABC')
300 ('(?i)^', 'ABC', 0, 'found', '')
301 ('(?i)$', 'ABC', 0, 'found', '')
302 ('(?i)a.c', 'ABC', 0, 'found', 'ABC')
303 ('(?i)a.c', 'AXC', 0, 'found', 'AXC')
304 ('(?i)a.*?c', 'AXYZC', 0, 'found', 'AXYZC')
305 ('(?i)a.*c', 'AXYZD', 1)
306 ('(?i)a[bc]d', 'ABC', 1)
307 ('(?i)a[bc]d', 'ABD', 0, 'found', 'ABD')
308 ('(?i)a[b-d]e', 'ABD', 1)
309 ('(?i)a[b-d]e', 'ACE', 0, 'found', 'ACE')
310 ('(?i)a[b-d]', 'AAC', 0, 'found', 'AC')
311 ('(?i)a[-b]', 'A-', 0, 'found', 'A-')
312 ('(?i)a[b-]', 'A-', 0, 'found', 'A-')
313 ('(?i)a[b-a]', '-', 2)
314 ('(?i)a[]b', '-', 2)
315 ('(?i)a[', '-', 2)
316 ('(?i)a]', 'A]', 0, 'found', 'A]')
317 ('(?i)a[]]b', 'A]B', 0, 'found', 'A]B')
318 ('(?i)a[^bc]d', 'AED', 0, 'found', 'AED')
319 ('(?i)a[^bc]d', 'ABD', 1)
320 ('(?i)a[^-b]c', 'ADC', 0, 'found', 'ADC')
321 ('(?i)a[^-b]c', 'A-C', 1)
322 ('(?i)a[^]b]c', 'A]C', 1)
323 ('(?i)a[^]b]c', 'ADC', 0, 'found', 'ADC')
324 ('(?i)ab|cd', 'ABC', 0, 'found', 'AB')
325 ('(?i)ab|cd', 'ABCD', 0, 'found', 'AB')
326 ('(?i)()ef', 'DEF', 0, 'found+"-"+g1', 'EF-')
327 ('(?i)*a', '-', 2)
328 ('(?i)(*)b', '-', 2)
329 ('(?i)$b', 'B', 1)
330 ('(?i)a\\', '-', 2)
331 ('(?i)a\\(b', 'A(B', 0, 'found+"-"+g1', 'A(B-Error')
332 ('(?i)a\\(*b', 'AB', 0, 'found', 'AB')
333 ('(?i)a\\(*b', 'A((B', 0, 'found', 'A((B')
334 ('(?i)a\\\\b', 'A\\B', 0, 'found', 'A\\B')
335 ('(?i)abc)', '-', 2)
336 ('(?i)(abc', '-', 2)
337 ('(?i)((a))', 'ABC', 0, 'found+"-"+g1+"-"+g2', 'A-A-A')
338 ('(?i)(a)b(c)', 'ABC', 0, 'found+"-"+g1+"-"+g2', 'ABC-A-C')
339 ('(?i)a+b+c', 'AABBABC', 0, 'found', 'ABC')
340 ('(?i)a{1,}b{1,}c', 'AABBABC', 0, 'found', 'ABC')
341 ('(?i)a**', '-', 2)
342 ('(?i)a.+?c', 'ABCABC', 0, 'found', 'ABC')
343 ('(?i)a.*?c', 'ABCABC', 0, 'found', 'ABC')
344 ('(?i)a.{0,5}?c', 'ABCABC', 0, 'found', 'ABC')
345 ('(?i)(a+|b)*', 'AB', 0, 'found+"-"+g1', 'AB-B')
346 ('(?i)(a+|b){0,}', 'AB', 0, 'found+"-"+g1', 'AB-B')
347 ('(?i)(a+|b)+', 'AB', 0, 'found+"-"+g1', 'AB-B')
348 ('(?i)(a+|b){1,}', 'AB', 0, 'found+"-"+g1', 'AB-B')
349 ('(?i)(a+|b)?', 'AB', 0, 'found+"-"+g1', 'A-A')
350 ('(?i)(a+|b){0,1}', 'AB', 0, 'found+"-"+g1', 'A-A')
351 ('(?i)(a+|b){0,1}?', 'AB', 0, 'found+"-"+g1', '-None')
352 ('(?i))(', '-', 2)
353 ('(?i)[^ab]*', 'CDE', 0, 'found', 'CDE')
354 ('(?i)abc', '', 1)
355 ('(?i)a*', '', 0, 'found', '')
356 ('(?i)([abc])*d', 'ABBBCD', 0, 'found+"-"+g1', 'ABBBCD-C')
357 ('(?i)([abc])*bcd', 'ABCD', 0, 'found+"-"+g1', 'ABCD-A')
358 ('(?i)a|b|c|d|e', 'E', 0, 'found', 'E')
359 ('(?i)(a|b|c|d|e)f', 'EF', 0, 'found+"-"+g1', 'EF-E')
360 ('(?i)abcd*efg', 'ABCDEFG', 0, 'found', 'ABCDEFG')
361 ('(?i)ab*', 'XABYABBBZ', 0, 'found', 'AB')
362 ('(?i)ab*', 'XAYABBBZ', 0, 'found', 'A')
363 ('(?i)(ab|cd)e', 'ABCDE', 0, 'found+"-"+g1', 'CDE-CD')
364 ('(?i)[abhgefdc]ij', 'HIJ', 0, 'found', 'HIJ')
365 ('(?i)^(ab|cd)e', 'ABCDE', 1)
366 ('(?i)(abc|)ef', 'ABCDEF', 0, 'found+"-"+g1', 'EF-')
367 ('(?i)(a|b)c*d', 'ABCD', 0, 'found+"-"+g1', 'BCD-B')
368 ('(?i)(ab|ab*)bc', 'ABC', 0, 'found+"-"+g1', 'ABC-A')
369 ('(?i)a([bc]*)c*', 'ABC', 0, 'found+"-"+g1', 'ABC-BC')
370 ('(?i)a([bc]*)(c*d)', 'ABCD', 0, 'found+"-"+g1+"-"+g2', 'ABCD-BC-D')
371 ('(?i)a([bc]+)(c*d)', 'ABCD', 0, 'found+"-"+g1+"-"+g2', 'ABCD-BC-D')
372 ('(?i)a([bc]*)(c+d)', 'ABCD', 0, 'found+"-"+g1+"-"+g2', 'ABCD-B-CD')
373 ('(?i)a[bcd]*dcdcde', 'ADCDCDE', 0, 'found', 'ADCDCDE')
374 ('(?i)a[bcd]+dcdcde', 'ADCDCDE', 1)
375 ('(?i)(ab|a)b*c', 'ABC', 0, 'found+"-"+g1', 'ABC-AB')
376 ('(?i)((a)(b)c)(d)', 'ABCD', 0, 'g1+"-"+g2+"-"+g3+"-"+g4', 'ABC-A-B-D')
377 ('(?i)[a-zA-Z_][a-zA-Z0-9_]*', 'ALPHA', 0, 'found', 'ALPHA')
378 ('(?i)^a(bc+|b[eh])g|.h$', 'ABH', 0, 'found+"-"+g1', 'BH-None')
379 ('(?i)(bc+d$|ef*g.|h?i(j|k))', 'EFFGZ', 0, 'found+"-"+g1+"-"+g2', 'EFFGZ-EFFGZ-None')
380 ('(?i)(bc+d$|ef*g.|h?i(j|k))', 'IJ', 0, 'found+"-"+g1+"-"+g2', 'IJ-IJ-J')
381 ('(?i)(bc+d$|ef*g.|h?i(j|k))', 'EFFG', 1)
382 ('(?i)(bc+d$|ef*g.|h?i(j|k))', 'BCDD', 1)
383 ('(?i)(bc+d$|ef*g.|h?i(j|k))', 'REFFGZ', 0, 'found+"-"+g1+"-"+g2', 'EFFGZ-EFFGZ-None')
384 ('(?i)((((((((((a))))))))))', 'A', 0, 'g10', 'A')
385 ('(?i)((((((((((a))))))))))\\10', 'AA', 0, 'found', 'AA')
386 ('(?i)((((((((((a))))))))))\\41', '', 2)
387 ('(?i)(((((((((a)))))))))', 'A', 0, 'found', 'A')
388 ('(?i)(?:(?:(?:(?:(?:(?:(?:(?:(?:(a))))))))))', 'A', 0, 'g1', 'A')
389 ('(?i)(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))', 'C', 0, 'g1', 'C')
390 ('(?i)multiple words of text', 'UH-UH', 1)
391 ('(?i)multiple words', 'MULTIPLE WORDS, YEAH', 0, 'found', 'MULTIPLE WORDS')
392 ('(?i)(.*)c(.*)', 'ABCDE', 0, 'found+"-"+g1+"-"+g2', 'ABCDE-AB-DE')
393 ('(?i)\\((.*), (.*)\\)', '(A, B)', 0, 'g2+"-"+g1', 'B-A')
394 ('(?i)[k]', 'AB', 1)
395 ('(?i)a[-]?c', 'AC', 0, 'found', 'AC')
396 ('(?i)(abc)\\1', 'ABCABC', 0, 'g1', 'ABC')
397 ('(?i)([a-c]*)\\1', 'ABCABC', 0, 'g1', 'ABC')
398 ('a(?:b|c|d)(.)', 'ace', 0, 'g1', 'e')
399 ('a(?:b|c|d)*(.)', 'ace', 0, 'g1', 'e')
400 ('a(?:b|c|d)+?(.)', 'ace', 0, 'g1', 'e')
401 ('a(?:b|(c|e){1,2}?|d)+?(.)', 'ace', 0, 'g1 + g2', 'ce')
402 ('^(.+)?B', 'AB', 0, 'g1', 'A')
403 ('w(?# comment', 'w', 2)
404 ('w(?# comment 1)xy(?# comment 2)z', 'wxyz', 0, 'found', 'wxyz')
405 ('w(?i)', 'W', 2)
406 ('(?x)w# comment 1\012        x y\012\011# comment 2\012\011z', 'wxyz', 0, 'found', 'wxyz')
407 ('^abc', 'jkl\012abc\012xyz', 1)
408 ('(?m)^abc', 'jkl\012abc\012xyz', 0, 'found', 'abc')
409 ('(?m)abc$', 'jkl\012xyzabc\012123', 0, 'found', 'abc')
410 ('a.b', 'a\012b', 1)
411 ('(?s)a.b', 'a\012b', 0, 'found', 'a\012b')
412 ('\\w+', '--ab_cd0123--', 0, 'found', 'ab_cd0123')
413 ('\\D+', '1234abc5678', 0, 'found', 'abc')
414 ('[\\da-fA-F]+', '123abc', 0, 'found', '123abc')
415 ('[\\d-x]', '-', 2)