summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/test/output/test_regex29
-rw-r--r--Lib/test/test_regex.py62
-rw-r--r--Lib/test/testall.py1
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__':