blob: c0a836659ffa9ce5fa2f6891b39f82076f5d5da2 [file] [log] [blame]
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +00001test_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-')
Guido van Rossum65cd9891997-07-15 19:01:38 +000037('a[\\-b]', 'a-', 0, 'found', 'a-')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +000038('a[b-]', 'a-', 2)
39('a[]b', '-', 2)
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +000040('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')
Guido van Rossum65cd9891997-07-15 19:01:38 +000046('a[\\]]b', 'a]b', 0, 'found', 'a]b')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +000047('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, '"-"', '-')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +000054('\\ba\\b', '-a', 0, '"-"', '-')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +000055('\\ba\\b', '-a-', 0, '"-"', '-')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +000056('\\by\\b', 'xy', 1)
57('\\by\\b', 'yz', 1)
58('\\by\\b', 'xyz', 1)
59('ab|cd', 'abc', 0, 'found', 'ab')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +000060('ab|cd', 'abcd', 0, 'found', 'ab')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +000061('()ef', 'def', 0, 'found+"-"+g1', 'ef-')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +000062('$b', 'b', 1)
Guido van Rossum23b8d4c1997-07-15 15:49:52 +000063('a\\(b', 'a(b', 0, 'found+"-"+g1', 'a(b-Error')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +000064('a\\(*b', 'ab', 0, 'found', 'ab')
65('a\\(*b', 'a((b', 0, 'found', 'a((b')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +000066('a\\\\b', 'a\\b', 0, 'found', 'a\\b')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +000067('((a))', 'abc', 0, 'found+"-"+g1+"-"+g2', 'a-a-a')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +000068('(a)b(c)', 'abc', 0, 'found+"-"+g1+"-"+g2', 'abc-a-c')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +000069('a+b+c', 'aabbabc', 0, 'found', 'abc')
70('(a+|b)*', 'ab', 0, 'found+"-"+g1', 'ab-b')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +000071('(a+|b)+', 'ab', 0, 'found+"-"+g1', 'ab-b')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +000072('(a+|b)?', 'ab', 0, 'found+"-"+g1', 'a-a')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +000073(')(', '-', 2)
74('[^ab]*', 'cde', 0, 'found', 'cde')
75('abc', '', 1)
76('a*', '', 0, 'found', '')
77('a|b|c|d|e', 'e', 0, 'found', 'e')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +000078('(a|b|c|d|e)f', 'ef', 0, 'found+"-"+g1', 'ef-e')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +000079('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')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +000083('[abhgefdc]ij', 'hij', 0, 'found', 'hij')
84('^(ab|cd)e', 'abcde', 1, 'xg1y', 'xy')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +000085('(abc|)ef', 'abcdef', 0, 'found+"-"+g1', 'ef-')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +000086('(a|b)c*d', 'abcd', 0, 'found+"-"+g1', 'bcd-b')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +000087('(ab|ab*)bc', 'abc', 0, 'found+"-"+g1', 'abc-a')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +000088('a([bc]*)c*', 'abc', 0, 'found+"-"+g1', 'abc-bc')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +000089('a([bc]*)(c*d)', 'abcd', 0, 'found+"-"+g1+"-"+g2', 'abcd-bc-d')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +000090('a([bc]+)(c*d)', 'abcd', 0, 'found+"-"+g1+"-"+g2', 'abcd-bc-d')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +000091('a([bc]*)(c+d)', 'abcd', 0, 'found+"-"+g1+"-"+g2', 'abcd-b-cd')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +000092('a[bcd]*dcdcde', 'adcdcde', 0, 'found', 'adcdcde')
93('a[bcd]+dcdcde', 'adcdcde', 1)
94('(ab|a)b*c', 'abc', 0, 'found+"-"+g1', 'abc-ab')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +000095('((a)(b)c)(d)', 'abcd', 0, 'g1+"-"+g2+"-"+g3+"-"+g4', 'abc-a-b-d')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +000096('[a-zA-Z_][a-zA-Z0-9_]*', 'alpha', 0, 'found', 'alpha')
97('^a(bc+|b[eh])g|.h$', 'abh', 0, 'found+"-"+g1', 'bh-None')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +000098('(bc+d$|ef*g.|h?i(j|k))', 'effgz', 0, 'found+"-"+g1+"-"+g2', 'effgz-effgz-None')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +000099('(bc+d$|ef*g.|h?i(j|k))', 'ij', 0, 'found+"-"+g1+"-"+g2', 'ij-ij-j')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +0000100('(bc+d$|ef*g.|h?i(j|k))', 'effg', 1)
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +0000101('(bc+d$|ef*g.|h?i(j|k))', 'bcdd', 1)
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +0000102('(bc+d$|ef*g.|h?i(j|k))', 'reffgz', 0, 'found+"-"+g1+"-"+g2', 'effgz-effgz-None')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +0000103('(((((((((a)))))))))', 'a', 0, 'found', 'a')
104('multiple words of text', 'uh-uh', 1)
105('multiple words', 'multiple words, yeah', 0, 'found', 'multiple words')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +0000106('(.*)c(.*)', 'abcde', 0, 'found+"-"+g1+"-"+g2', 'abcde-ab-de')
Guido van Rossum04a1d741997-07-15 14:38:13 +0000107('\\((.*), (.*)\\)', '(a, b)', 0, 'g2+"-"+g1', 'b-a')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +0000108('[k]', 'ab', 1)
109('a[-]?c', 'ac', 0, 'found', 'ac')
110('(abc)\\1', 'abcabc', 0, 'g1', 'abc')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +0000111('([a-c]*)\\1', 'abcabc', 0, 'g1', 'abc')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +0000112('^(.+)?B', 'AB', 0, 'g1', 'A')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +0000113('(a+).\\1$', 'aaaaa', 0, 'found+"-"+g1', 'aaaaa-aa')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +0000114('^(a+).\\1$', 'aaaa', 1)
115('(abc)\\1', 'abcabc', 0, 'found+"-"+g1', 'abcabc-abc')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +0000116('([a-c]+)\\1', 'abcabc', 0, 'found+"-"+g1', 'abcabc-abc')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +0000117('(a)\\1', 'aa', 0, 'found+"-"+g1', 'aa-a')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +0000118('(a+)\\1', 'aa', 0, 'found+"-"+g1', 'aa-a')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +0000119('(a+)+\\1', 'aa', 0, 'found+"-"+g1', 'aa-a')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +0000120('(a).+\\1', 'aba', 0, 'found+"-"+g1', 'aba-a')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +0000121('(a)ba*\\1', 'aba', 0, 'found+"-"+g1', 'aba-a')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +0000122('(aa|a)a\\1$', 'aaa', 0, 'found+"-"+g1', 'aaa-a')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +0000123('(a|aa)a\\1$', 'aaa', 0, 'found+"-"+g1', 'aaa-a')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +0000124('(a+)a\\1$', 'aaa', 0, 'found+"-"+g1', 'aaa-a')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +0000125('([abc]*)\\1', 'abcabc', 0, 'found+"-"+g1', 'abcabc-abc')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +0000126('(a)(b)c|ab', 'ab', 0, 'found+"-"+g1+"-"+g2', 'ab-None-None')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +0000127('(a)+x', 'aaax', 0, 'found+"-"+g1', 'aaax-a')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +0000128('([ac])+x', 'aacx', 0, 'found+"-"+g1', 'aacx-c')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +0000129('([^/]*/)*sub1/', 'd:msgs/tdir/sub1/trial/away.cpp', 0, 'found+"-"+g1', 'd:msgs/tdir/sub1/-tdir/')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +0000130('([^.]*)\\.([^:]*):[T ]+(.*)', 'track1.title:TBlah blah blah', 0, 'found+"-"+g1+"-"+g2+"-"+g3', 'track1.title:TBlah blah blah-track1-title-Blah blah blah')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +0000131('([^N]*N)+', 'abNNxyzN', 0, 'found+"-"+g1', 'abNNxyzN-xyzN')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +0000132('([^N]*N)+', 'abNNxyz', 0, 'found+"-"+g1', 'abNN-N')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +0000133('([abc]*)x', 'abcx', 0, 'found+"-"+g1', 'abcx-abc')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +0000134('([abc]*)x', 'abc', 1)
135('([xyz]*)x', 'abcx', 0, 'found+"-"+g1', 'x-')
136('(a)+b|aac', 'aac', 0, 'found+"-"+g1', 'aac-None')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000137('(?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')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000156('ab+bc', 'abbc', 0, 'found', 'abbc')
157('ab+bc', 'abc', 1)
158('ab+bc', 'abq', 1)
159('ab{1,}bc', 'abq', 1)
Guido van Rossum65cd9891997-07-15 19:01:38 +0000160('ab+bc', 'abbbbc', 0, 'found', 'abbbbc')
161('ab{1,}bc', 'abbbbc', 0, 'found', 'abbbbc')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000162('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-')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000203('*a', '-', 2)
204('(*)b', '-', 2)
205('$b', 'b', 1)
206('a\\', '-', 2)
Guido van Rossuma0e4c1b1997-07-17 14:52:48 +0000207('a\\(b', 'a(b', 0, 'found+"-"+g1', 'a(b-Error')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000208('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')
Guido van Rossum32d6f3c1997-07-17 22:37:07 +0000217('a**', '-', 2)
Guido van Rossum65cd9891997-07-15 19:01:38 +0000218('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')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000221('(a+|b)+', 'ab', 0, 'found+"-"+g1', 'ab-b')
222('(a+|b){1,}', 'ab', 0, 'found+"-"+g1', 'ab-b')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000223('(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-')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000240('(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')
Guido van Rossuma0e4c1b1997-07-17 14:52:48 +0000251('^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')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000253('(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)
Guido van Rossuma0e4c1b1997-07-17 14:52:48 +0000256('(bc+d$|ef*g.|h?i(j|k))', 'reffgz', 0, 'found+"-"+g1+"-"+g2', 'effgz-effgz-None')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000257('((((((((((a))))))))))', 'a', 0, 'g10', 'a')
258('((((((((((a))))))))))\\10', 'aa', 0, 'found', 'aa')
Guido van Rossum32d6f3c1997-07-17 22:37:07 +0000259('((((((((((a))))))))))\\41', '', 2)
Guido van Rossum65cd9891997-07-15 19:01:38 +0000260('(((((((((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')
Guido van Rossuma0e4c1b1997-07-17 14:52:48 +0000264('\\((.*), (.*)\\)', '(a, b)', 0, 'g2+"-"+g1', 'b-a')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000265('[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')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000270('(?i)abc', 'XBC', 1)
271('(?i)abc', 'AXC', 1)
272('(?i)abc', 'ABX', 1)
273('(?i)abc', 'XABCY', 0, 'found', 'ABC')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000274('(?i)abc', 'ABABC', 0, 'found', 'ABC')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000275('(?i)ab*c', 'ABC', 0, 'found', 'ABC')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000276('(?i)ab*bc', 'ABC', 0, 'found', 'ABC')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000277('(?i)ab*bc', 'ABBC', 0, 'found', 'ABBC')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000278('(?i)ab*?bc', 'ABBBBC', 0, 'found', 'ABBBBC')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000279('(?i)ab{0,}?bc', 'ABBBBC', 0, 'found', 'ABBBBC')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000280('(?i)ab+?bc', 'ABBC', 0, 'found', 'ABBC')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000281('(?i)ab+bc', 'ABC', 1)
282('(?i)ab+bc', 'ABQ', 1)
283('(?i)ab{1,}bc', 'ABQ', 1)
Guido van Rossum65cd9891997-07-15 19:01:38 +0000284('(?i)ab+bc', 'ABBBBC', 0, 'found', 'ABBBBC')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000285('(?i)ab{1,}?bc', 'ABBBBC', 0, 'found', 'ABBBBC')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000286('(?i)ab{1,3}?bc', 'ABBBBC', 0, 'found', 'ABBBBC')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000287('(?i)ab{3,4}?bc', 'ABBBBC', 0, 'found', 'ABBBBC')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000288('(?i)ab{4,5}?bc', 'ABBBBC', 1)
289('(?i)ab??bc', 'ABBC', 0, 'found', 'ABBC')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000290('(?i)ab??bc', 'ABC', 0, 'found', 'ABC')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000291('(?i)ab{0,1}?bc', 'ABC', 0, 'found', 'ABC')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000292('(?i)ab??bc', 'ABBBBC', 1)
293('(?i)ab??c', 'ABC', 0, 'found', 'ABC')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000294('(?i)ab{0,1}?c', 'ABC', 0, 'found', 'ABC')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000295('(?i)^abc$', 'ABC', 0, 'found', 'ABC')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000296('(?i)^abc$', 'ABCC', 1)
297('(?i)^abc', 'ABCC', 0, 'found', 'ABC')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000298('(?i)^abc$', 'AABC', 1)
299('(?i)abc$', 'AABC', 0, 'found', 'ABC')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000300('(?i)^', 'ABC', 0, 'found', '')
301('(?i)$', 'ABC', 0, 'found', '')
302('(?i)a.c', 'ABC', 0, 'found', 'ABC')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000303('(?i)a.c', 'AXC', 0, 'found', 'AXC')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000304('(?i)a.*?c', 'AXYZC', 0, 'found', 'AXYZC')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000305('(?i)a.*c', 'AXYZD', 1)
306('(?i)a[bc]d', 'ABC', 1)
307('(?i)a[bc]d', 'ABD', 0, 'found', 'ABD')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000308('(?i)a[b-d]e', 'ABD', 1)
309('(?i)a[b-d]e', 'ACE', 0, 'found', 'ACE')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000310('(?i)a[b-d]', 'AAC', 0, 'found', 'AC')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000311('(?i)a[-b]', 'A-', 0, 'found', 'A-')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000312('(?i)a[b-]', 'A-', 0, 'found', 'A-')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000313('(?i)a[b-a]', '-', 2)
314('(?i)a[]b', '-', 2)
315('(?i)a[', '-', 2)
316('(?i)a]', 'A]', 0, 'found', 'A]')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000317('(?i)a[]]b', 'A]B', 0, 'found', 'A]B')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000318('(?i)a[^bc]d', 'AED', 0, 'found', 'AED')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000319('(?i)a[^bc]d', 'ABD', 1)
320('(?i)a[^-b]c', 'ADC', 0, 'found', 'ADC')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000321('(?i)a[^-b]c', 'A-C', 1)
322('(?i)a[^]b]c', 'A]C', 1)
323('(?i)a[^]b]c', 'ADC', 0, 'found', 'ADC')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000324('(?i)ab|cd', 'ABC', 0, 'found', 'AB')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000325('(?i)ab|cd', 'ABCD', 0, 'found', 'AB')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000326('(?i)()ef', 'DEF', 0, 'found+"-"+g1', 'EF-')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000327('(?i)*a', '-', 2)
328('(?i)(*)b', '-', 2)
329('(?i)$b', 'B', 1)
330('(?i)a\\', '-', 2)
Guido van Rossuma0e4c1b1997-07-17 14:52:48 +0000331('(?i)a\\(b', 'A(B', 0, 'found+"-"+g1', 'A(B-Error')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000332('(?i)a\\(*b', 'AB', 0, 'found', 'AB')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000333('(?i)a\\(*b', 'A((B', 0, 'found', 'A((B')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000334('(?i)a\\\\b', 'A\\B', 0, 'found', 'A\\B')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000335('(?i)abc)', '-', 2)
336('(?i)(abc', '-', 2)
337('(?i)((a))', 'ABC', 0, 'found+"-"+g1+"-"+g2', 'A-A-A')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000338('(?i)(a)b(c)', 'ABC', 0, 'found+"-"+g1+"-"+g2', 'ABC-A-C')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000339('(?i)a+b+c', 'AABBABC', 0, 'found', 'ABC')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000340('(?i)a{1,}b{1,}c', 'AABBABC', 0, 'found', 'ABC')
Guido van Rossum32d6f3c1997-07-17 22:37:07 +0000341('(?i)a**', '-', 2)
Guido van Rossum65cd9891997-07-15 19:01:38 +0000342('(?i)a.+?c', 'ABCABC', 0, 'found', 'ABC')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000343('(?i)a.*?c', 'ABCABC', 0, 'found', 'ABC')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000344('(?i)a.{0,5}?c', 'ABCABC', 0, 'found', 'ABC')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000345('(?i)(a+|b)*', 'AB', 0, 'found+"-"+g1', 'AB-B')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000346('(?i)(a+|b){0,}', 'AB', 0, 'found+"-"+g1', 'AB-B')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000347('(?i)(a+|b)+', 'AB', 0, 'found+"-"+g1', 'AB-B')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000348('(?i)(a+|b){1,}', 'AB', 0, 'found+"-"+g1', 'AB-B')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000349('(?i)(a+|b)?', 'AB', 0, 'found+"-"+g1', 'A-A')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000350('(?i)(a+|b){0,1}', 'AB', 0, 'found+"-"+g1', 'A-A')
Guido van Rossuma0e4c1b1997-07-17 14:52:48 +0000351('(?i)(a+|b){0,1}?', 'AB', 0, 'found+"-"+g1', '-None')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000352('(?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')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000357('(?i)([abc])*bcd', 'ABCD', 0, 'found+"-"+g1', 'ABCD-A')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000358('(?i)a|b|c|d|e', 'E', 0, 'found', 'E')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000359('(?i)(a|b|c|d|e)f', 'EF', 0, 'found+"-"+g1', 'EF-E')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000360('(?i)abcd*efg', 'ABCDEFG', 0, 'found', 'ABCDEFG')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000361('(?i)ab*', 'XABYABBBZ', 0, 'found', 'AB')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000362('(?i)ab*', 'XAYABBBZ', 0, 'found', 'A')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000363('(?i)(ab|cd)e', 'ABCDE', 0, 'found+"-"+g1', 'CDE-CD')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000364('(?i)[abhgefdc]ij', 'HIJ', 0, 'found', 'HIJ')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000365('(?i)^(ab|cd)e', 'ABCDE', 1)
366('(?i)(abc|)ef', 'ABCDEF', 0, 'found+"-"+g1', 'EF-')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000367('(?i)(a|b)c*d', 'ABCD', 0, 'found+"-"+g1', 'BCD-B')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000368('(?i)(ab|ab*)bc', 'ABC', 0, 'found+"-"+g1', 'ABC-A')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000369('(?i)a([bc]*)c*', 'ABC', 0, 'found+"-"+g1', 'ABC-BC')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000370('(?i)a([bc]*)(c*d)', 'ABCD', 0, 'found+"-"+g1+"-"+g2', 'ABCD-BC-D')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000371('(?i)a([bc]+)(c*d)', 'ABCD', 0, 'found+"-"+g1+"-"+g2', 'ABCD-BC-D')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000372('(?i)a([bc]*)(c+d)', 'ABCD', 0, 'found+"-"+g1+"-"+g2', 'ABCD-B-CD')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000373('(?i)a[bcd]*dcdcde', 'ADCDCDE', 0, 'found', 'ADCDCDE')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000374('(?i)a[bcd]+dcdcde', 'ADCDCDE', 1)
375('(?i)(ab|a)b*c', 'ABC', 0, 'found+"-"+g1', 'ABC-AB')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000376('(?i)((a)(b)c)(d)', 'ABCD', 0, 'g1+"-"+g2+"-"+g3+"-"+g4', 'ABC-A-B-D')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000377('(?i)[a-zA-Z_][a-zA-Z0-9_]*', 'ALPHA', 0, 'found', 'ALPHA')
Guido van Rossuma0e4c1b1997-07-17 14:52:48 +0000378('(?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')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000380('(?i)(bc+d$|ef*g.|h?i(j|k))', 'IJ', 0, 'found+"-"+g1+"-"+g2', 'IJ-IJ-J')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000381('(?i)(bc+d$|ef*g.|h?i(j|k))', 'EFFG', 1)
382('(?i)(bc+d$|ef*g.|h?i(j|k))', 'BCDD', 1)
Guido van Rossuma0e4c1b1997-07-17 14:52:48 +0000383('(?i)(bc+d$|ef*g.|h?i(j|k))', 'REFFGZ', 0, 'found+"-"+g1+"-"+g2', 'EFFGZ-EFFGZ-None')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000384('(?i)((((((((((a))))))))))', 'A', 0, 'g10', 'A')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000385('(?i)((((((((((a))))))))))\\10', 'AA', 0, 'found', 'AA')
Guido van Rossum32d6f3c1997-07-17 22:37:07 +0000386('(?i)((((((((((a))))))))))\\41', '', 2)
Guido van Rossum65cd9891997-07-15 19:01:38 +0000387('(?i)(((((((((a)))))))))', 'A', 0, 'found', 'A')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000388('(?i)(?:(?:(?:(?:(?:(?:(?:(?:(?:(a))))))))))', 'A', 0, 'g1', 'A')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000389('(?i)(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))', 'C', 0, 'g1', 'C')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000390('(?i)multiple words of text', 'UH-UH', 1)
391('(?i)multiple words', 'MULTIPLE WORDS, YEAH', 0, 'found', 'MULTIPLE WORDS')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000392('(?i)(.*)c(.*)', 'ABCDE', 0, 'found+"-"+g1+"-"+g2', 'ABCDE-AB-DE')
Guido van Rossuma0e4c1b1997-07-17 14:52:48 +0000393('(?i)\\((.*), (.*)\\)', '(A, B)', 0, 'g2+"-"+g1', 'B-A')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000394('(?i)[k]', 'AB', 1)
395('(?i)a[-]?c', 'AC', 0, 'found', 'AC')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000396('(?i)(abc)\\1', 'ABCABC', 0, 'g1', 'ABC')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000397('(?i)([a-c]*)\\1', 'ABCABC', 0, 'g1', 'ABC')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000398('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')
Guido van Rossuma0e4c1b1997-07-17 14:52:48 +0000401('a(?:b|(c|e){1,2}?|d)+?(.)', 'ace', 0, 'g1 + g2', 'ce')
Guido van Rossum65cd9891997-07-15 19:01:38 +0000402('^(.+)?B', 'AB', 0, 'g1', 'A')
Guido van Rossuma0e4c1b1997-07-17 14:52:48 +0000403('w(?# comment', 'w', 2)
404('w(?# comment 1)xy(?# comment 2)z', 'wxyz', 0, 'found', 'wxyz')
Guido van Rossum32d6f3c1997-07-17 22:37:07 +0000405('w(?i)', 'W', 2)
406('(?x)w# comment 1\012 x y\012\011# comment 2\012\011z', 'wxyz', 0, 'found', 'wxyz')
Guido van Rossuma0e4c1b1997-07-17 14:52:48 +0000407('^abc', 'jkl\012abc\012xyz', 1)
408('(?m)^abc', 'jkl\012abc\012xyz', 0, 'found', 'abc')
Guido van Rossum32d6f3c1997-07-17 22:37:07 +0000409('(?m)abc$', 'jkl\012xyzabc\012123', 0, 'found', 'abc')
Guido van Rossuma0e4c1b1997-07-17 14:52:48 +0000410('a.b', 'a\012b', 1)
411('(?s)a.b', 'a\012b', 0, 'found', 'a\012b')
Guido van Rossum32d6f3c1997-07-17 22:37:07 +0000412('\\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)