blob: c806244e06b18515e7222ddc6e934d5dd3deb255 [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-')
37('a[b-]', 'a-', 2)
38('a[]b', '-', 2)
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +000039('a[', '-', 2)
40('a\\', '-', 2)
41('abc)', '-', 2)
42('(abc', '-', 2)
43('a]', 'a]', 0, 'found', 'a]')
44('a[]]b', 'a]b', 0, 'found', 'a]b')
45('a[^bc]d', 'aed', 0, 'found', 'aed')
46('a[^bc]d', 'abd', 1)
47('a[^-b]c', 'adc', 0, 'found', 'adc')
48('a[^-b]c', 'a-c', 1)
49('a[^]b]c', 'a]c', 1)
50('a[^]b]c', 'adc', 0, 'found', 'adc')
51('\\ba\\b', 'a-', 0, '"-"', '-')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +000052('\\ba\\b', '-a', 0, '"-"', '-')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +000053('\\ba\\b', '-a-', 0, '"-"', '-')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +000054('\\by\\b', 'xy', 1)
55('\\by\\b', 'yz', 1)
56('\\by\\b', 'xyz', 1)
57('ab|cd', 'abc', 0, 'found', 'ab')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +000058('ab|cd', 'abcd', 0, 'found', 'ab')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +000059('()ef', 'def', 0, 'found+"-"+g1', 'ef-')
60=== Syntax error: ('()ef', 'def', 0, 'found+"-"+g1', 'ef-')
61('$b', 'b', 1)
Guido van Rossum23b8d4c1997-07-15 15:49:52 +000062('a\\(b', 'a(b', 0, 'found+"-"+g1', 'a(b-Error')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +000063('a\\(*b', 'ab', 0, 'found', 'ab')
64('a\\(*b', 'a((b', 0, 'found', 'a((b')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +000065('a\\\\b', 'a\\b', 0, 'found', 'a\\b')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +000066('((a))', 'abc', 0, 'found+"-"+g1+"-"+g2', 'a-a-a')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +000067('(a)b(c)', 'abc', 0, 'found+"-"+g1+"-"+g2', 'abc-a-c')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +000068('a+b+c', 'aabbabc', 0, 'found', 'abc')
69('(a+|b)*', 'ab', 0, 'found+"-"+g1', 'ab-b')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +000070('(a+|b)+', 'ab', 0, 'found+"-"+g1', 'ab-b')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +000071('(a+|b)?', 'ab', 0, 'found+"-"+g1', 'a-a')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +000072(')(', '-', 2)
73('[^ab]*', 'cde', 0, 'found', 'cde')
74('abc', '', 1)
75('a*', '', 0, 'found', '')
76('a|b|c|d|e', 'e', 0, 'found', 'e')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +000077('(a|b|c|d|e)f', 'ef', 0, 'found+"-"+g1', 'ef-e')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +000078('abcd*efg', 'abcdefg', 0, 'found', 'abcdefg')
79('ab*', 'xabyabbbz', 0, 'found', 'ab')
80('ab*', 'xayabbbz', 0, 'found', 'a')
81('(ab|cd)e', 'abcde', 0, 'found+"-"+g1', 'cde-cd')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +000082('[abhgefdc]ij', 'hij', 0, 'found', 'hij')
83('^(ab|cd)e', 'abcde', 1, 'xg1y', 'xy')
Guido van Rossum7ffbd2f1997-07-11 19:43:46 +000084('(abc|)ef', 'abcdef', 0, 'found+"-"+g1', 'ef-')
Guido van Rossum8a9a4a21997-07-11 20:48:25 +000085=== Syntax error: ('(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')