mirror of
https://github.com/python/cpython.git
synced 2025-08-04 08:59:19 +00:00
More tweaks; re.py is nearly there...
This commit is contained in:
parent
531097502c
commit
847ed4afb5
3 changed files with 5 additions and 13 deletions
|
@ -34,7 +34,6 @@ test_re
|
|||
('a[b-d]e', 'ace', 0, 'found', 'ace')
|
||||
('a[b-d]', 'aac', 0, 'found', 'ac')
|
||||
('a[-b]', 'a-', 0, 'found', 'a-')
|
||||
=== Syntax error: ('a[-b]', 'a-', 0, 'found', 'a-')
|
||||
('a[b-]', 'a-', 2)
|
||||
('a[]b', '-', 2)
|
||||
('a[', '-', 2)
|
||||
|
@ -43,16 +42,12 @@ test_re
|
|||
('(abc', '-', 2)
|
||||
('a]', 'a]', 0, 'found', 'a]')
|
||||
('a[]]b', 'a]b', 0, 'found', 'a]b')
|
||||
=== Syntax error: ('a[]]b', 'a]b', 0, 'found', 'a]b')
|
||||
('a[^bc]d', 'aed', 0, 'found', 'aed')
|
||||
('a[^bc]d', 'abd', 1)
|
||||
('a[^-b]c', 'adc', 0, 'found', 'adc')
|
||||
=== Syntax error: ('a[^-b]c', 'adc', 0, 'found', 'adc')
|
||||
('a[^-b]c', 'a-c', 1)
|
||||
=== Syntax error: ('a[^-b]c', 'a-c', 1)
|
||||
('a[^]b]c', 'a]c', 1)
|
||||
('a[^]b]c', 'adc', 0, 'found', 'adc')
|
||||
=== Failed incorrectly ('a[^]b]c', 'adc', 0, 'found', 'adc')
|
||||
('\\ba\\b', 'a-', 0, '"-"', '-')
|
||||
('\\ba\\b', '-a', 0, '"-"', '-')
|
||||
('\\ba\\b', '-a-', 0, '"-"', '-')
|
||||
|
@ -64,8 +59,7 @@ test_re
|
|||
('()ef', 'def', 0, 'found+"-"+g1', 'ef-')
|
||||
=== Syntax error: ('()ef', 'def', 0, 'found+"-"+g1', 'ef-')
|
||||
('$b', 'b', 1)
|
||||
('a(b', 'a(b', 0, 'found+"-"+g1', 'a(b-None')
|
||||
=== Syntax error: ('a(b', 'a(b', 0, 'found+"-"+g1', 'a(b-None')
|
||||
('a\\(b', 'a(b', 0, 'found+"-"+g1', 'a(b-None')
|
||||
('a\\(*b', 'ab', 0, 'found', 'ab')
|
||||
('a\\(*b', 'a((b', 0, 'found', 'a((b')
|
||||
('a\\\\b', 'a\\b', 0, 'found', 'a\\b')
|
||||
|
@ -113,7 +107,6 @@ test_re
|
|||
('\\((.*), (.*)\\)', '(a, b)', 0, 'g2+"-"+g1', 'b-a')
|
||||
('[k]', 'ab', 1)
|
||||
('a[-]?c', 'ac', 0, 'found', 'ac')
|
||||
=== Syntax error: ('a[-]?c', 'ac', 0, 'found', 'ac')
|
||||
('(abc)\\1', 'abcabc', 0, 'g1', 'abc')
|
||||
('([a-c]*)\\1', 'abcabc', 0, 'g1', 'abc')
|
||||
('^(.+)?B', 'AB', 0, 'g1', 'A')
|
||||
|
|
|
@ -136,7 +136,7 @@ tests = [
|
|||
('()ef', 'def', SUCCEED,
|
||||
'found+"-"+g1', 'ef-'),
|
||||
('$b', 'b', FAIL),
|
||||
('a(b', 'a(b', SUCCEED,
|
||||
('a\\(b', 'a(b', SUCCEED,
|
||||
'found+"-"+g1', 'a(b-None'),
|
||||
('a\\(*b', 'ab', SUCCEED,
|
||||
'found', 'ab'),
|
||||
|
|
|
@ -41,16 +41,15 @@ for t in tests:
|
|||
# Matched, as expected, so now we compute the
|
||||
# result string and compare it to our expected result.
|
||||
start, end = result.span(0)
|
||||
vardict={'found': result.group(0)}
|
||||
vardict={'found': result.group(0), 'groups': result.group()}
|
||||
for i in range(1, 100):
|
||||
try:
|
||||
gi = result.group(i)
|
||||
# Special hack because else the string concat fails:
|
||||
if gi is None: gi = "None"
|
||||
except IndexError:
|
||||
break
|
||||
else:
|
||||
vardict['g%d' % i] = gi
|
||||
gi = "None"
|
||||
vardict['g%d' % i] = gi
|
||||
repl=eval(repl, vardict)
|
||||
if repl!=expected:
|
||||
print '=== grouping error', t,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue