diff options
-rw-r--r-- | Lib/test/output/test_regex | 29 | ||||
-rw-r--r-- | Lib/test/test_regex.py | 62 | ||||
-rw-r--r-- | Lib/test/testall.py | 1 |
3 files changed, 92 insertions, 0 deletions
diff --git a/Lib/test/output/test_regex b/Lib/test/output/test_regex new file mode 100644 index 0000000..89ba717 --- /dev/null +++ b/Lib/test/output/test_regex @@ -0,0 +1,29 @@ +test_regex +no match: -1 +successful search: 6 +caught expected exception +failed awk syntax: -1 +successful awk syntax: 2 +failed awk syntax: -1 +matching with group names and compile() +-1 +caught expected exception +matching with group names and symcomp() +7 +801 999 +801 +('801', '999') +('801', '999') +realpat: \([0-9]+\) *\([0-9]+\) +groupindex: {'one': 1, 'two': 2} +not case folded search: -1 +case folded search: 6 +__members__: ['last', 'regs', 'translate', 'groupindex', 'realpat', 'givenpat'] +regs: ((6, 11), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1), (-1, -1)) +last: HELLO WORLD +translate: '\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037 !"#$%&\'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377' +givenpat: world +match with pos: -1 +search with pos: 18 +bogus group: ('world', None, None) +no name: caught expected exception diff --git a/Lib/test/test_regex.py b/Lib/test/test_regex.py new file mode 100644 index 0000000..9d25d92 --- /dev/null +++ b/Lib/test/test_regex.py @@ -0,0 +1,62 @@ +from test_support import verbose +import regex +from regex_syntax import * + +re = 'a+b+c+' +print 'no match:', regex.match(re, 'hello aaaabcccc world') +print 'successful search:', regex.search(re, 'hello aaaabcccc world') +try: + cre = regex.compile('\(' + re) +except regex.error: + print 'caught expected exception' +else: + print 'expected regex.error not raised' + +print 'failed awk syntax:', regex.search('(a+)|(b+)', 'cdb') +prev = regex.set_syntax(RE_SYNTAX_AWK) +print 'successful awk syntax:', regex.search('(a+)|(b+)', 'cdb') +regex.set_syntax(prev) +print 'failed awk syntax:', regex.search('(a+)|(b+)', 'cdb') + +re = '\(<one>[0-9]+\) *\(<two>[0-9]+\)' +print 'matching with group names and compile()' +cre = regex.compile(re) +print cre.match('801 999') +try: + print cre.group('one') +except regex.error: + print 'caught expected exception' +else: + print 'expected regex.error not raised' + +print 'matching with group names and symcomp()' +cre = regex.symcomp(re) +print cre.match('801 999') +print cre.group(0) +print cre.group('one') +print cre.group(1, 2) +print cre.group('one', 'two') +print 'realpat:', cre.realpat +print 'groupindex:', cre.groupindex + +re = 'world' +cre = regex.compile(re) +print 'not case folded search:', cre.search('HELLO WORLD') +cre = regex.compile(re, regex.casefold) +print 'case folded search:', cre.search('HELLO WORLD') + +print '__members__:', cre.__members__ +print 'regs:', cre.regs +print 'last:', cre.last +print 'translate:', `cre.translate` +print 'givenpat:', cre.givenpat + +print 'match with pos:', cre.match('hello world', 7) +print 'search with pos:', cre.search('hello world there world', 7) +print 'bogus group:', cre.group(0, 1, 3) +try: + print 'no name:', cre.group('one') +except regex.error: + print 'caught expected exception' +else: + print 'expected regex.error not raised' diff --git a/Lib/test/testall.py b/Lib/test/testall.py index d68d2c3..5bb5f0c 100644 --- a/Lib/test/testall.py +++ b/Lib/test/testall.py @@ -32,6 +32,7 @@ tests = ['test_grammar', 'test_operator', 'test_imageop', 'test_imgfile', + 'test_regex', ] if __name__ == '__main__': |