[pypy-svn] r53278 - in pypy/dist/pypy/rlib/parsing: . test

jared.grubb at codespeak.net jared.grubb at codespeak.net
Thu Apr 3 09:36:52 CEST 2008


Author: jared.grubb
Date: Thu Apr  3 09:36:51 2008
New Revision: 53278

Added:
   pypy/dist/pypy/rlib/parsing/test/testoutput7.pickle
Modified:
   pypy/dist/pypy/rlib/parsing/regexparse.py
   pypy/dist/pypy/rlib/parsing/test/test_deterministic.py
   pypy/dist/pypy/rlib/parsing/test/test_pcre_regtest.py
   pypy/dist/pypy/rlib/parsing/test/testoutput1.pickle
Log:
Fixed test_deterministic.py failure assertion; added DFA PCRE tests (need to still adapt them to exercise our DFA, skipped for now)
Updated regexparse.py with expanded parsing, allowing the following base cases '()', '(a|)', '{', ']', '}', '[]]', '[.?*+[-]'


Modified: pypy/dist/pypy/rlib/parsing/regexparse.py
==============================================================================
--- pypy/dist/pypy/rlib/parsing/regexparse.py	(original)
+++ pypy/dist/pypy/rlib/parsing/regexparse.py	Thu Apr  3 09:36:51 2008
@@ -80,7 +80,7 @@
   | concatenation;
 
 concatenation:
-    l = repetition+
+    l = repetition*
     return {reduce(operator.add, l, regex.StringExpression(""))};
 
 repetition:
@@ -103,6 +103,8 @@
     n = numrange
     '}'
     return {r1 * n[0] + reduce(operator.or_, [r1 * i for i in range(n[1] - n[0] + 1)], regex.StringExpression(""))}
+  | '{'
+    return {regex.StringExpression("{")}
   | primary;
 
 primary:
@@ -113,7 +115,9 @@
   | c = char
     return {regex.StringExpression(c)}
   | '.'
-    return {regex.RangeExpression(chr(0), chr(255))};
+    return {regex.RangeExpression(chr(0), chr(255))}
+  | ']'
+    return {regex.StringExpression(']')};
 
 char:
     c = QUOTEDCHAR
@@ -125,7 +129,7 @@
     `(\\x[0-9a-fA-F]{2})|(\\[0-3]?[0-7][0-7])|(\\c.)|(\\.)`;
     
 CHAR:
-    `[^\*\+\(\)\[\]\{\}\|\.\-\?\,\^]`;
+    `[^\*\+\(\)\[\]\{\|\.\-\?\^]`;
 
 range:
     '['
@@ -141,7 +145,7 @@
 
 subrange:
     ']'
-    l = rangeelement+
+    l = rangeelement*
     return {reduce(operator.or_, [set(["]"])] + l)}
   | l = rangeelement+
     return {reduce(operator.or_, l)};
@@ -152,8 +156,20 @@
     '-'
     c2 = char
     return {set([chr(i) for i in range(ord(c1), ord(c2) + 1)])}
+  | '.'
+    return { set(['.']) }
+  | '*'
+    return { set(['*']) }
+  | '+'
+    return { set(['+']) }
+  | '?'
+    return { set(['?']) }
+  | '-'
+    return { set(['-']) }
+  | '['
+    return { set(['[']) }
   | c = char
-    return {set([c])};
+    return { set([c]) };
 
 numrange:
     n1 = NUM
@@ -458,16 +474,12 @@
             _result = None
             _error = None
             _all0 = []
-            _call_status = self._repetition()
-            _result = _call_status.result
-            _error = _call_status.error
-            _all0.append(_result)
             while 1:
                 _choice1 = self._pos
                 try:
                     _call_status = self._repetition()
                     _result = _call_status.result
-                    _error = self._combine_errors(_error, _call_status.error)
+                    _error = _call_status.error
                     _all0.append(_result)
                 except BacktrackException, _exc:
                     _error = self._combine_errors(_error, _exc.error)
@@ -601,13 +613,21 @@
                     self._pos = _choice4
                 _choice5 = self._pos
                 try:
+                    _result = self.__chars__('{')
+                    _result = (regex.StringExpression("{"))
+                    break
+                except BacktrackException, _exc:
+                    _error = self._combine_errors(_error, _exc.error)
+                    self._pos = _choice5
+                _choice6 = self._pos
+                try:
                     _call_status = self._primary()
                     _result = _call_status.result
                     _error = self._combine_errors(_error, _call_status.error)
                     break
                 except BacktrackException, _exc:
                     _error = self._combine_errors(_error, _exc.error)
-                    self._pos = _choice5
+                    self._pos = _choice6
                     raise BacktrackException(_error)
                 _call_status = self._primary()
                 _result = _call_status.result
@@ -720,9 +740,17 @@
                 except BacktrackException, _exc:
                     _error = self._combine_errors(_error, _exc.error)
                     self._pos = _choice6
+                _choice7 = self._pos
+                try:
+                    _result = self.__chars__(']')
+                    _result = (regex.StringExpression(']'))
+                    break
+                except BacktrackException, _exc:
+                    _error = self._combine_errors(_error, _exc.error)
+                    self._pos = _choice7
                     raise BacktrackException(_error)
-                _result = self.__chars__('.')
-                _result = (regex.RangeExpression(chr(0), chr(255)))
+                _result = self.__chars__(']')
+                _result = (regex.StringExpression(']'))
                 break
             if _status.status == _status.LEFTRECURSION:
                 if _status.result is not None:
@@ -880,7 +908,7 @@
         try:
             _result = None
             _error = None
-            _result = self._regex1323868075()
+            _result = self._regex100349762()
             assert _status.status != _status.LEFTRECURSION
             _status.status = _status.NORMAL
             _status.pos = self._pos
@@ -1065,16 +1093,12 @@
                 try:
                     _result = self.__chars__(']')
                     _all1 = []
-                    _call_status = self._rangeelement()
-                    _result = _call_status.result
-                    _error = _call_status.error
-                    _all1.append(_result)
                     while 1:
                         _choice2 = self._pos
                         try:
                             _call_status = self._rangeelement()
                             _result = _call_status.result
-                            _error = self._combine_errors(_error, _call_status.error)
+                            _error = _call_status.error
                             _all1.append(_result)
                         except BacktrackException, _exc:
                             _error = self._combine_errors(_error, _exc.error)
@@ -1213,21 +1237,69 @@
                     self._pos = _choice1
                 _choice2 = self._pos
                 try:
+                    _result = self.__chars__('.')
+                    _result = ( set(['.']) )
+                    break
+                except BacktrackException, _exc:
+                    _error = self._combine_errors(_error, _exc.error)
+                    self._pos = _choice2
+                _choice3 = self._pos
+                try:
+                    _result = self.__chars__('*')
+                    _result = ( set(['*']) )
+                    break
+                except BacktrackException, _exc:
+                    _error = self._combine_errors(_error, _exc.error)
+                    self._pos = _choice3
+                _choice4 = self._pos
+                try:
+                    _result = self.__chars__('+')
+                    _result = ( set(['+']) )
+                    break
+                except BacktrackException, _exc:
+                    _error = self._combine_errors(_error, _exc.error)
+                    self._pos = _choice4
+                _choice5 = self._pos
+                try:
+                    _result = self.__chars__('?')
+                    _result = ( set(['?']) )
+                    break
+                except BacktrackException, _exc:
+                    _error = self._combine_errors(_error, _exc.error)
+                    self._pos = _choice5
+                _choice6 = self._pos
+                try:
+                    _result = self.__chars__('-')
+                    _result = ( set(['-']) )
+                    break
+                except BacktrackException, _exc:
+                    _error = self._combine_errors(_error, _exc.error)
+                    self._pos = _choice6
+                _choice7 = self._pos
+                try:
+                    _result = self.__chars__('[')
+                    _result = ( set(['[']) )
+                    break
+                except BacktrackException, _exc:
+                    _error = self._combine_errors(_error, _exc.error)
+                    self._pos = _choice7
+                _choice8 = self._pos
+                try:
                     _call_status = self._char()
                     _result = _call_status.result
                     _error = self._combine_errors(_error, _call_status.error)
                     c = _result
-                    _result = (set([c]))
+                    _result = ( set([c]) )
                     break
                 except BacktrackException, _exc:
                     _error = self._combine_errors(_error, _exc.error)
-                    self._pos = _choice2
+                    self._pos = _choice8
                     raise BacktrackException(_error)
                 _call_status = self._char()
                 _result = _call_status.result
                 _error = self._combine_errors(_error, _call_status.error)
                 c = _result
-                _result = (set([c]))
+                _result = ( set([c]) )
                 break
             if _status.status == _status.LEFTRECURSION:
                 if _status.result is not None:
@@ -1543,10 +1615,10 @@
         self._dict_NUM = {}
         self._pos = 0
         self._inputstream = inputstream
-    def _regex1166214427(self):
+    def _regex100349762(self):
         _choice0 = self._pos
         _runner = self._Runner(self._inputstream, self._pos)
-        _i = _runner.recognize_1166214427(self._pos)
+        _i = _runner.recognize_100349762(self._pos)
         if _runner.last_matched_state == -1:
             self._pos = _choice0
             raise BacktrackException
@@ -1571,10 +1643,10 @@
         _result = self._inputstream[_pos: _upto]
         self._pos = _upto
         return _result
-    def _regex1323868075(self):
+    def _regex1166214427(self):
         _choice2 = self._pos
         _runner = self._Runner(self._inputstream, self._pos)
-        _i = _runner.recognize_1323868075(self._pos)
+        _i = _runner.recognize_1166214427(self._pos)
         if _runner.last_matched_state == -1:
             self._pos = _choice2
             raise BacktrackException
@@ -1592,7 +1664,7 @@
             self.last_matched_state = -1
             self.last_matched_index = -1
             self.state = -1
-        def recognize_1166214427(runner, i):
+        def recognize_100349762(runner, i):
             #auto-generated code, don't edit
             assert i >= 0
             input = runner.text
@@ -1605,24 +1677,20 @@
                     except IndexError:
                         runner.state = 0
                         return ~i
-                    if char == '0':
+                    if '}' <= char <= '\xff':
+                        state = 1
+                    elif '\x00' <= char <= "'":
+                        state = 1
+                    elif '_' <= char <= 'z':
+                        state = 1
+                    elif '@' <= char <= 'Z':
+                        state = 1
+                    elif '/' <= char <= '>':
+                        state = 1
+                    elif char == ',':
+                        state = 1
+                    elif char == '\\':
                         state = 1
-                    elif '1' <= char <= '9':
-                        state = 2
-                    else:
-                        break
-                if state == 2:
-                    runner.last_matched_index = i - 1
-                    runner.last_matched_state = state
-                    try:
-                        char = input[i]
-                        i += 1
-                    except IndexError:
-                        runner.state = 2
-                        return i
-                    if '0' <= char <= '9':
-                        state = 2
-                        continue
                     else:
                         break
                 runner.last_matched_state = state
@@ -1762,7 +1830,7 @@
                 break
             runner.state = state
             return ~i
-        def recognize_1323868075(runner, i):
+        def recognize_1166214427(runner, i):
             #auto-generated code, don't edit
             assert i >= 0
             input = runner.text
@@ -1775,18 +1843,24 @@
                     except IndexError:
                         runner.state = 0
                         return ~i
-                    if '~' <= char <= '\xff':
-                        state = 1
-                    elif '\x00' <= char <= "'":
-                        state = 1
-                    elif '_' <= char <= 'z':
-                        state = 1
-                    elif '@' <= char <= 'Z':
-                        state = 1
-                    elif '/' <= char <= '>':
-                        state = 1
-                    elif char == '\\':
+                    if char == '0':
                         state = 1
+                    elif '1' <= char <= '9':
+                        state = 2
+                    else:
+                        break
+                if state == 2:
+                    runner.last_matched_index = i - 1
+                    runner.last_matched_state = state
+                    try:
+                        char = input[i]
+                        i += 1
+                    except IndexError:
+                        runner.state = 2
+                        return i
+                    if '0' <= char <= '9':
+                        state = 2
+                        continue
                     else:
                         break
                 runner.last_matched_state = state
@@ -1847,6 +1921,16 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
 def test_generate():
     f = py.magic.autopath()
     oldcontent = f.read()

Modified: pypy/dist/pypy/rlib/parsing/test/test_deterministic.py
==============================================================================
--- pypy/dist/pypy/rlib/parsing/test/test_deterministic.py	(original)
+++ pypy/dist/pypy/rlib/parsing/test/test_deterministic.py	Thu Apr  3 09:36:51 2008
@@ -170,6 +170,11 @@
     assert make_nice_charset_repr("ABCabc") == 'A-Ca-c'
     assert make_nice_charset_repr("zycba") == 'a-cyz'
     assert make_nice_charset_repr(string.ascii_letters) == 'A-Za-z'
-    # this next one is ugly... need to clean it up (sometimes it fails because it's
-    # being generated from a dict, so the order is funky)
-    assert make_nice_charset_repr(string.printable) == 'A-Za-z0-9\\t\\x0b\\n\\r\\x0c! #"%$\'&)(+*,/.;:=<?>@[\\\\_^`{}|~\\-\\]'
\ No newline at end of file
+    
+    # this next one is ugly because it's being generated from a dict, so the order is not stable
+    nice = make_nice_charset_repr(string.printable)
+    chunks = ['A-Z','a-z','0-9','\\t','\\x0b','\\n','\\r','\\x0c','\\\\','\\-']
+    chunks += list('! #"%$\'&)(+*,/.;:=<?>@[]_^`{}|~')
+    assert all([chunk in nice for chunk in chunks])  # make sure every unit is in there, in some order
+    assert len(''.join(chunks))==len(nice)  # make sure that's all that's in there
+    
\ No newline at end of file

Modified: pypy/dist/pypy/rlib/parsing/test/test_pcre_regtest.py
==============================================================================
--- pypy/dist/pypy/rlib/parsing/test/test_pcre_regtest.py	(original)
+++ pypy/dist/pypy/rlib/parsing/test/test_pcre_regtest.py	Thu Apr  3 09:36:51 2008
@@ -1,5 +1,10 @@
 """This test can read and parse PCRE regression tests to try out
-on our regular expression library."""
+on our regular expression library.
+
+We currently only test against testoutput7 (DFA tests). We were doing
+testoutput1, but that was PCRE matching, which was inconsistent with
+our matching on strings like "[ab]{1,3}(ab*|b)" against 'aabbbb'.
+"""
 
 # The PCRE library is distributed under the BSD license. We have borrowed some
 # of the regression tests (the ones that fit under the DFA scope) in order to
@@ -80,6 +85,11 @@
 py.test.skip("Still in progress")
 
 def create_pcre_pickle(file, picklefile):
+    """Create a filtered PCRE test file for the test. 
+    
+    The pickle file was created by:
+       create_pcre_pickle(open('testoutput1','r'), open('testoutput1.pickle','w')) 
+    """
     import pickle
 
     lines = [line for line in file.readlines()]
@@ -88,6 +98,11 @@
     no_escape = r'(^|[^\\])(\\\\)*'                   # Make sure there's no escaping \
     greedy_ops = re.compile(no_escape + r'[*?+}\(]\?')  # Look for *? +? }? (?
     back_refs  = re.compile(no_escape + r'\(.*' + no_escape + r'\\1') # find a \1
+    caret_in_middle = re.compile(no_escape + r'[^\[\\]\^')
+    substr_quotes = re.compile(no_escape + r'(\\Q|\\E)')   # PCRE allows \Q.....\E to quote substrings, we dont.
+    
+    # Perl allows single-digit hex escapes. Change \x0 -> \x00, for example
+    expand_perl_hex = re.compile(r'\\x([0-9a-fA-F]{1})(?=[^0-9a-fA-F]|$)')
     
     # suite = [ 
     #            [regex, flags, [(test,result),(test,result),...]]
@@ -123,14 +138,19 @@
         regex += matches[0][-2] # Add the backslash, if we gotta
         flags = matches[0][-1] # Get the flags for the regex
 
-        tests = []
+        regex = expand_perl_hex.sub(lambda m: r'\x0'+m.group(1), regex)
 
+        tests = []
         if greedy_ops.search(regex) or back_refs.search(regex):
             # Suppress complex features we can't do
             pass
         elif flags:
             # Suppress any test that requires PCRE flags
             pass
+        elif caret_in_middle.search(regex):
+            pass
+        elif substr_quotes.search(regex):
+            pass
         else:
             # In any other case, we're going to add the test
             # All the above test fall through and DONT get appended
@@ -145,27 +165,34 @@
                 assert not test.endswith('\\\\\\') # Make sure not three \'s. otherwise this check will get ridiculous
                 if not test.endswith('\\\\'): # Two \'s means a real \
                     test = test[:-1]
-            test = unescape(test)
+            test = expand_perl_hex.sub(lambda m: r'\x0'+m.group(1), test)
+            try:
+                test = unescape(test)
+            except Exception:
+                print "Warning: could not unescape %r" % test
 
             # Third line in the OUTPUT is the result, either:
             # ' 0: ...' for a match (but this is ONLY escaped by \x__ types)
             # 'No match' for no match
-            match = lines.pop(0).rstrip('\r\n')
-            match = re.sub(r'\\x([0-9a-fA-F]{2})', lambda m: chr(int(m.group(1),16)), match)
-            if match.startswith('No match'):
-                pass
-            elif match.startswith(' 0:'):
-                # Now we need to eat any further lines like:
-                # ' 1: ....' a subgroup match
-                while lines[0].strip():
-                    # ' 0+ ...' is also possible here
-                    if lines[0][2] in [':','+']:
-                        lines.pop(0)
-                    else:
-                        break
-            else:
-                print " *** %r ***" % match
-                raise Exception("Lost sync in output.")
+            # (other kinds exist, but we ignore them)
+            while lines:
+                match = lines.pop(0).rstrip('\r\n')
+                match = re.sub(r'\\x([0-9a-fA-F]{2})', lambda m: chr(int(m.group(1),16)), match)
+                if match.startswith('No match') or match.startswith('Error'):
+                    break
+                elif match.startswith(' 0:'):
+                    # Now we need to eat any further lines like:
+                    # ' 1: ....' a subgroup match
+                    while lines[0].strip():
+                        # ' 0+ ...' is also possible here
+                        if lines[0][2] in [':','+']:
+                            lines.pop(0)
+                        else:
+                            break
+                    break
+                elif not match:
+                    print " *** %r ***" % match
+                    raise Exception("Lost sync in output.")
             tests.append((test,match))
     pickle.dump(suite, picklefile)
 
@@ -187,10 +214,14 @@
     if not regex_to_use:
         #print "  SKIPPED (Cant do blank regex)"
         return
-        
-    runner = make_runner(regex)
+    
+    print "%s:" % regex_to_use
+    
+    runner = make_runner(regex_to_use)
     # Now run the test expressions against the Regex
     for test, match in tests:
+        expect_match = (match != 'No match')
+        
         # Create possible subsequences that we should test
         if anchor_left:
             start_range = [0]
@@ -206,25 +237,11 @@
         # Search the possibilities for a match...
         for start, end in subseq_gen:
             attempt = test[start:end]
-            matched = runner.recognize(attempt)
-            if matched: 
+            if runner.recognize(attempt):
+                assert expect_match and attempt==match[4:]
                 break
-        
-        # Did we get what we expected?
-        if match == 'No match':
-            if matched:
-                assert "FALSE MATCH: regex==%r test==%r" % (regex, test)
-            else:
-                pass
-                #print "  pass:        regex==%r test==%r" % (regex, test)
-        elif match.startswith(' 0: '):
-            if not matched:
-                assert "MISSED:      regex==%r test==%r" % (regex, test)
-            elif not attempt==match[4:]:
-                assert "BAD MATCH:   regex==%r test==%r found==%r expect==%r" % (regex, test, attempt, match[4:])
-            else:
-                pass
-                #print "  pass:        regex==%r test==%r" % (regex, test)
+        else:
+            assert not expect_match
 
 def run_pcre_tests(suite):
     """Run PCRE tests as given in suite."""
@@ -232,9 +249,15 @@
         regex, flags, tests = suite.pop(0)
         yield run_individual_test, regex, tests
 
-
-def test_output1():
-    suite = get_pcre_pickle(open('testoutput1.pickle','r'))
+def test_output7():
+    suite = get_pcre_pickle(open('testoutput7.pickle','r'))
     for test in run_pcre_tests(suite):
         yield test
-        
\ No newline at end of file
+
+def generate_output7():
+    """Create the testoutput1.pickle file from the PCRE file testoutput1"""
+    create_pcre_pickle(open('testoutput7','r'), open('testoutput7.pickle','w'))
+        
+if __name__=="__main__":
+    for fcn, regex, tests in test_output7():
+        fcn(regex,tests)
\ No newline at end of file

Modified: pypy/dist/pypy/rlib/parsing/test/testoutput1.pickle
==============================================================================
--- pypy/dist/pypy/rlib/parsing/test/testoutput1.pickle	(original)
+++ pypy/dist/pypy/rlib/parsing/test/testoutput1.pickle	Thu Apr  3 09:36:51 2008
@@ -2318,632 +2318,632 @@
 p1389
 tp1390
 aaa(lp1391
-S'(.*X|^B)'
+S'^.*B'
 p1392
 ag3
 a(lp1393
-(S'abcde\n1234Xyz'
+(S'**** Failers'
 p1394
-S' 0: 1234X'
+S'No match'
 p1395
 tp1396
-a(S'BarFoo'
+a(S'abc\nB'
 p1397
-S' 0: B'
+S'No match'
 p1398
 tp1399
-a(S'*** Failers'
-p1400
-S'No match'
+aaa(lp1400
+S'^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
 p1401
-tp1402
-a(S'abcde\nBar'
+ag3
+a(lp1402
+(S'123456654321'
 p1403
-S'No match'
+S' 0: 123456654321'
 p1404
 tp1405
 aaa(lp1406
-S'^.*B'
+S'^\\d\\d\\d\\d\\d\\d\\d\\d\\d\\d\\d\\d'
 p1407
 ag3
 a(lp1408
-(S'**** Failers'
+(S'123456654321'
 p1409
-S'No match'
+S' 0: 123456654321'
 p1410
 tp1411
-a(S'abc\nB'
-p1412
-S'No match'
-p1413
-tp1414
-aaa(lp1415
-S'^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
-p1416
-ag3
-a(lp1417
-(S'123456654321'
-p1418
-S' 0: 123456654321'
-p1419
-tp1420
-aaa(lp1421
-S'^\\d\\d\\d\\d\\d\\d\\d\\d\\d\\d\\d\\d'
-p1422
-ag3
-a(lp1423
-(S'123456654321'
-p1424
-S' 0: 123456654321'
-p1425
-tp1426
-aaa(lp1427
+aaa(lp1412
 S'^[\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d]'
-p1428
+p1413
 ag3
-a(lp1429
+a(lp1414
 (S'123456654321'
-p1430
+p1415
 S' 0: 123456654321'
-p1431
-tp1432
-aaa(lp1433
+p1416
+tp1417
+aaa(lp1418
 S'^[abc]{12}'
-p1434
+p1419
 ag3
-a(lp1435
+a(lp1420
 (S'abcabcabcabc'
-p1436
+p1421
 S' 0: abcabcabcabc'
-p1437
-tp1438
-aaa(lp1439
+p1422
+tp1423
+aaa(lp1424
 S'^[a-c]{12}'
-p1440
+p1425
 ag3
-a(lp1441
+a(lp1426
 (S'abcabcabcabc'
-p1442
+p1427
 S' 0: abcabcabcabc'
-p1443
-tp1444
-aaa(lp1445
+p1428
+tp1429
+aaa(lp1430
 S'^(a|b|c){12}'
-p1446
+p1431
 ag3
-a(lp1447
+a(lp1432
 (S'abcabcabcabc'
-p1448
+p1433
 S' 0: abcabcabcabc'
-p1449
-tp1450
-aaa(lp1451
+p1434
+tp1435
+aaa(lp1436
 S'^[abcdefghijklmnopqrstuvwxy0123456789]'
-p1452
+p1437
 ag3
-a(lp1453
+a(lp1438
 (S'n'
-p1454
+p1439
 S' 0: n'
-p1455
-tp1456
+p1440
+tp1441
 a(S'*** Failers'
-p1457
+p1442
 S'No match'
-p1458
-tp1459
+p1443
+tp1444
 a(g583
 S'No match'
-p1460
-tp1461
-aaa(lp1462
+p1445
+tp1446
+aaa(lp1447
 S'abcde{0,0}'
-p1463
+p1448
 ag3
-a(lp1464
+a(lp1449
 (S'abcd'
-p1465
+p1450
 S' 0: abcd'
-p1466
-tp1467
+p1451
+tp1452
 a(S'*** Failers'
-p1468
+p1453
 S'No match'
-p1469
-tp1470
+p1454
+tp1455
 a(S'abce'
-p1471
+p1456
 S'No match'
-p1472
-tp1473
-aaa(lp1474
+p1457
+tp1458
+aaa(lp1459
 S'ab[cd]{0,0}e'
-p1475
+p1460
 ag3
-a(lp1476
+a(lp1461
 (S'abe'
-p1477
+p1462
 S' 0: abe'
-p1478
-tp1479
+p1463
+tp1464
 a(S'*** Failers'
-p1480
+p1465
 S'No match'
-p1481
-tp1482
+p1466
+tp1467
 a(S'abcde'
-p1483
+p1468
 S'No match'
-p1484
-tp1485
-aaa(lp1486
+p1469
+tp1470
+aaa(lp1471
 S'ab(c){0,0}d'
-p1487
+p1472
 ag3
-a(lp1488
+a(lp1473
 (S'abd'
-p1489
+p1474
 S' 0: abd'
-p1490
-tp1491
+p1475
+tp1476
 a(S'*** Failers'
-p1492
+p1477
 S'No match'
-p1493
-tp1494
+p1478
+tp1479
 a(S'abcd'
-p1495
+p1480
 S'No match'
-p1496
-tp1497
-aaa(lp1498
+p1481
+tp1482
+aaa(lp1483
 S'a(b*)'
-p1499
+p1484
 ag3
-a(lp1500
+a(lp1485
 (g592
 S' 0: a'
-p1501
-tp1502
+p1486
+tp1487
 a(S'ab'
-p1503
+p1488
 S' 0: ab'
-p1504
-tp1505
+p1489
+tp1490
 a(S'abbbb'
-p1506
+p1491
 S' 0: abbbb'
-p1507
-tp1508
+p1492
+tp1493
 a(S'*** Failers'
-p1509
+p1494
 S' 0: a'
-p1510
-tp1511
+p1495
+tp1496
 a(S'bbbbb'
-p1512
+p1497
 S'No match'
-p1513
-tp1514
-aaa(lp1515
+p1498
+tp1499
+aaa(lp1500
 S'ab\\d{0}e'
-p1516
+p1501
 ag3
-a(lp1517
+a(lp1502
 (S'abe'
-p1518
+p1503
 S' 0: abe'
-p1519
-tp1520
+p1504
+tp1505
 a(S'*** Failers'
-p1521
+p1506
 S'No match'
-p1522
-tp1523
+p1507
+tp1508
 a(S'ab1e'
-p1524
+p1509
 S'No match'
-p1525
-tp1526
-aaa(lp1527
+p1510
+tp1511
+aaa(lp1512
 S'"([^\\\\"]+|\\\\.)*"'
-p1528
+p1513
 ag3
-a(lp1529
+a(lp1514
 (S'the "quick" brown fox'
-p1530
+p1515
 S' 0: "quick"'
-p1531
-tp1532
+p1516
+tp1517
 a(S'"the \\"quick\\" brown fox"'
-p1533
+p1518
 S' 0: "the \\"quick\\" brown fox"'
-p1534
-tp1535
-aaa(lp1536
+p1519
+tp1520
+aaa(lp1521
 S'a[^a]b'
-p1537
+p1522
 ag3
-a(lp1538
+a(lp1523
 (S'acb'
-p1539
+p1524
 S' 0: acb'
-p1540
-tp1541
+p1525
+tp1526
 a(S'a\nb'
-p1542
+p1527
 S' 0: a\nb'
-p1543
-tp1544
-aaa(lp1545
+p1528
+tp1529
+aaa(lp1530
 S'a.b'
-p1546
+p1531
 ag3
-a(lp1547
+a(lp1532
 (S'acb'
-p1548
+p1533
 S' 0: acb'
-p1549
-tp1550
+p1534
+tp1535
 a(S'*** Failers'
-p1551
+p1536
 S'No match'
-p1552
-tp1553
+p1537
+tp1538
 a(S'a\nb'
-p1554
+p1539
 S'No match'
-p1555
-tp1556
-aaa(lp1557
-S'\\x0{ab}'
-p1558
+p1540
+tp1541
+aaa(lp1542
+S'\\\\x00{ab}'
+p1543
 ag3
-a(lp1559
+a(lp1544
 (S'\x00{ab}'
-p1560
+p1545
 S' 0: \x00{ab}'
-p1561
-tp1562
-aaa(lp1563
+p1546
+tp1547
+aaa(lp1548
 S'(A|B)*CD'
-p1564
+p1549
 ag3
-a(lp1565
+a(lp1550
 (S'CD'
-p1566
+p1551
 S' 0: CD'
-p1567
-tp1568
-aaa(lp1569
+p1552
+tp1553
+aaa(lp1554
 S'(\\d+)(\\w)'
-p1570
+p1555
 ag3
-a(lp1571
+a(lp1556
 (S'12345a'
-p1572
+p1557
 S' 0: 12345a'
-p1573
-tp1574
+p1558
+tp1559
 a(S'12345+'
-p1575
+p1560
 S' 0: 12345'
-p1576
-tp1577
-aaa(lp1578
+p1561
+tp1562
+aaa(lp1563
 S'(abc|)+'
-p1579
+p1564
 ag3
-a(lp1580
+a(lp1565
 (S'abc'
-p1581
+p1566
 S' 0: abc'
-p1582
-tp1583
+p1567
+tp1568
 a(S'abcabc'
-p1584
+p1569
 S' 0: abcabc'
-p1585
-tp1586
+p1570
+tp1571
 a(S'abcabcabc'
-p1587
+p1572
 S' 0: abcabcabc'
-p1588
-tp1589
+p1573
+tp1574
 a(S'xyz'
-p1590
+p1575
 S' 0: '
-p1591
-tp1592
-aaa(lp1593
+p1576
+tp1577
+aaa(lp1578
 S'([a]*)*'
-p1594
+p1579
 ag3
-a(lp1595
+a(lp1580
 (g592
 S' 0: a'
-p1596
-tp1597
+p1581
+tp1582
 a(S'aaaaa'
-p1598
+p1583
 S' 0: aaaaa'
-p1599
-tp1600
-aaa(lp1601
+p1584
+tp1585
+aaa(lp1586
 S'([ab]*)*'
-p1602
+p1587
 ag3
-a(lp1603
+a(lp1588
 (g592
 S' 0: a'
-p1604
-tp1605
+p1589
+tp1590
 a(g835
 S' 0: b'
-p1606
-tp1607
+p1591
+tp1592
 a(S'ababab'
-p1608
+p1593
 S' 0: ababab'
-p1609
-tp1610
+p1594
+tp1595
 a(S'aaaabcde'
-p1611
+p1596
 S' 0: aaaab'
-p1612
-tp1613
+p1597
+tp1598
 a(S'bbbb'
-p1614
+p1599
 S' 0: bbbb'
-p1615
-tp1616
-aaa(lp1617
+p1600
+tp1601
+aaa(lp1602
 S'([^a]*)*'
-p1618
+p1603
 ag3
-a(lp1619
+a(lp1604
 (g835
 S' 0: b'
-p1620
-tp1621
+p1605
+tp1606
 a(S'bbbb'
-p1622
+p1607
 S' 0: bbbb'
-p1623
-tp1624
+p1608
+tp1609
 a(S'aaa'
-p1625
+p1610
 S' 0: '
-p1626
-tp1627
-aaa(lp1628
+p1611
+tp1612
+aaa(lp1613
 S'([^ab]*)*'
-p1629
+p1614
 ag3
-a(lp1630
+a(lp1615
 (S'cccc'
-p1631
+p1616
 S' 0: cccc'
-p1632
-tp1633
+p1617
+tp1618
 a(S'abab'
-p1634
+p1619
 S' 0: '
-p1635
-tp1636
-aaa(lp1637
+p1620
+tp1621
+aaa(lp1622
 S'The case of aaaaaa is missed out below because I think Perl 5.005_02 gets'
-p1638
+p1623
 ag3
-a(lp1639
+a(lp1624
 (S'/it wrong; it sets $1 to aaa rather than aa. Compare the following test,/'
-p1640
+p1625
 S'No match'
-p1641
-tp1642
+p1626
+tp1627
 a(S'/where it does set $1 to aa when matching aaaaaa./'
-p1643
+p1628
 S'No match'
-p1644
-tp1645
-aaa(lp1646
+p1629
+tp1630
+aaa(lp1631
 S'The following tests are taken from the Perl 5.005 test suite; some of them'
-p1647
+p1632
 ag3
-a(lp1648
+a(lp1633
 (S"/are compatible with 5.004, but I'd rather not have to sort them out./"
-p1649
+p1634
 S'No match'
-p1650
-tp1651
-aaa(lp1652
+p1635
+tp1636
+aaa(lp1637
 S'abc'
-p1653
+p1638
 ag3
-a(lp1654
+a(lp1639
 (S'abc'
-p1655
+p1640
 S' 0: abc'
-p1656
-tp1657
+p1641
+tp1642
 a(S'xabcy'
-p1658
+p1643
 S' 0: abc'
-p1659
-tp1660
+p1644
+tp1645
 a(S'ababc'
-p1661
+p1646
 S' 0: abc'
-p1662
-tp1663
+p1647
+tp1648
 a(S'*** Failers'
-p1664
+p1649
 S'No match'
-p1665
-tp1666
+p1650
+tp1651
 a(S'xbc'
-p1667
+p1652
 S'No match'
-p1668
-tp1669
+p1653
+tp1654
 a(S'axc'
-p1670
+p1655
 S'No match'
-p1671
-tp1672
+p1656
+tp1657
 a(S'abx'
-p1673
+p1658
 S'No match'
-p1674
-tp1675
-aaa(lp1676
+p1659
+tp1660
+aaa(lp1661
 S'ab*c'
-p1677
+p1662
 ag3
-a(lp1678
+a(lp1663
 (S'abc'
-p1679
+p1664
 S' 0: abc'
-p1680
-tp1681
-aaa(lp1682
+p1665
+tp1666
+aaa(lp1667
 S'ab*bc'
-p1683
+p1668
 ag3
-a(lp1684
+a(lp1669
 (S'abc'
-p1685
+p1670
 S' 0: abc'
-p1686
-tp1687
+p1671
+tp1672
 a(S'abbc'
-p1688
+p1673
 S' 0: abbc'
-p1689
-tp1690
+p1674
+tp1675
 a(S'abbbbc'
-p1691
+p1676
 S' 0: abbbbc'
-p1692
-tp1693
-aaa(lp1694
+p1677
+tp1678
+aaa(lp1679
 S'.{1}'
-p1695
+p1680
 ag3
-a(lp1696
+a(lp1681
 (S'abbbbc'
-p1697
+p1682
 S' 0: a'
-p1698
-tp1699
-aaa(lp1700
+p1683
+tp1684
+aaa(lp1685
 S'.{3,4}'
-p1701
+p1686
 ag3
-a(lp1702
+a(lp1687
 (S'abbbbc'
-p1703
+p1688
 S' 0: abbb'
-p1704
-tp1705
-aaa(lp1706
+p1689
+tp1690
+aaa(lp1691
 S'ab{0,}bc'
-p1707
+p1692
 ag3
-a(lp1708
+a(lp1693
 (S'abbbbc'
-p1709
+p1694
 S' 0: abbbbc'
+p1695
+tp1696
+aaa(lp1697
+S'ab+bc'
+p1698
+ag3
+a(lp1699
+(S'abbc'
+p1700
+S' 0: abbc'
+p1701
+tp1702
+a(S'*** Failers'
+p1703
+S'No match'
+p1704
+tp1705
+a(S'abc'
+p1706
+S'No match'
+p1707
+tp1708
+a(S'abq'
+p1709
+S'No match'
 p1710
 tp1711
 aaa(lp1712
-S'ab+bc'
+S'ab{1,}bc'
 p1713
 ag3
 a(lp1714
-(S'abbc'
-p1715
-S' 0: abbc'
+aa(lp1715
+S'ab+bc'
 p1716
-tp1717
-a(S'*** Failers'
+ag3
+a(lp1717
+(S'abbbbc'
 p1718
-S'No match'
+S' 0: abbbbc'
 p1719
 tp1720
-a(S'abc'
-p1721
-S'No match'
+aaa(lp1721
+S'ab{1,}bc'
 p1722
-tp1723
-a(S'abq'
+ag3
+a(lp1723
+(S'abbbbc'
 p1724
-S'No match'
+S' 0: abbbbc'
 p1725
 tp1726
 aaa(lp1727
-S'ab{1,}bc'
+S'ab{1,3}bc'
 p1728
 ag3
 a(lp1729
-aa(lp1730
-S'ab+bc'
-p1731
-ag3
-a(lp1732
 (S'abbbbc'
-p1733
+p1730
 S' 0: abbbbc'
+p1731
+tp1732
+aaa(lp1733
+S'ab{3,4}bc'
 p1734
-tp1735
-aaa(lp1736
-S'ab{1,}bc'
-p1737
 ag3
-a(lp1738
+a(lp1735
 (S'abbbbc'
-p1739
+p1736
 S' 0: abbbbc'
+p1737
+tp1738
+aaa(lp1739
+S'ab{4,5}bc'
 p1740
-tp1741
-aaa(lp1742
-S'ab{1,3}bc'
-p1743
 ag3
-a(lp1744
-(S'abbbbc'
+a(lp1741
+(S'*** Failers'
+p1742
+S'No match'
+p1743
+tp1744
+a(S'abq'
 p1745
-S' 0: abbbbc'
+S'No match'
 p1746
 tp1747
-aaa(lp1748
-S'ab{3,4}bc'
+a(S'abbbbc'
+p1748
+S'No match'
 p1749
-ag3
-a(lp1750
-(S'abbbbc'
-p1751
-S' 0: abbbbc'
+tp1750
+aaa(lp1751
+S'ab?bc'
 p1752
-tp1753
-aaa(lp1754
-S'ab{4,5}bc'
-p1755
 ag3
-a(lp1756
-(S'*** Failers'
+a(lp1753
+(S'abbc'
+p1754
+S' 0: abbc'
+p1755
+tp1756
+a(S'abc'
 p1757
-S'No match'
+S' 0: abc'
 p1758
 tp1759
-a(S'abq'
-p1760
-S'No match'
+aaa(lp1760
+S'ab{0,1}bc'
 p1761
-tp1762
-a(S'abbbbc'
+ag3
+a(lp1762
+(S'abc'
 p1763
-S'No match'
+S' 0: abc'
 p1764
 tp1765
 aaa(lp1766
@@ -2951,18 +2951,18 @@
 p1767
 ag3
 a(lp1768
-(S'abbc'
-p1769
-S' 0: abbc'
+aa(lp1769
+S'ab?c'
 p1770
-tp1771
-a(S'abc'
+ag3
+a(lp1771
+(S'abc'
 p1772
 S' 0: abc'
 p1773
 tp1774
 aaa(lp1775
-S'ab{0,1}bc'
+S'ab{0,1}c'
 p1776
 ag3
 a(lp1777
@@ -2972,2109 +2972,1852 @@
 p1779
 tp1780
 aaa(lp1781
-S'ab?bc'
+S'^abc$'
 p1782
 ag3
 a(lp1783
-aa(lp1784
-S'ab?c'
-p1785
-ag3
-a(lp1786
 (S'abc'
-p1787
+p1784
 S' 0: abc'
+p1785
+tp1786
+a(S'*** Failers'
+p1787
+S'No match'
 p1788
 tp1789
-aaa(lp1790
-S'ab{0,1}c'
+a(S'abbbbc'
+p1790
+S'No match'
 p1791
-ag3
-a(lp1792
-(S'abc'
+tp1792
+a(S'abcc'
 p1793
-S' 0: abc'
+S'No match'
 p1794
 tp1795
 aaa(lp1796
-S'^abc$'
+S'^abc'
 p1797
 ag3
 a(lp1798
-(S'abc'
+(S'abcc'
 p1799
 S' 0: abc'
 p1800
 tp1801
-a(S'*** Failers'
-p1802
-S'No match'
+aaa(lp1802
+S'^abc$'
 p1803
-tp1804
-a(S'abbbbc'
-p1805
-S'No match'
+ag3
+a(lp1804
+aa(lp1805
+S'abc$'
 p1806
-tp1807
-a(S'abcc'
+ag3
+a(lp1807
+(S'aabc'
 p1808
-S'No match'
+S' 0: abc'
 p1809
 tp1810
-aaa(lp1811
-S'^abc'
+a(S'*** Failers'
+p1811
+S'No match'
 p1812
-ag3
-a(lp1813
-(S'abcc'
+tp1813
+a(S'aabc'
 p1814
 S' 0: abc'
 p1815
 tp1816
-aaa(lp1817
-S'^abc$'
+a(S'aabcd'
+p1817
+S'No match'
 p1818
-ag3
-a(lp1819
-aa(lp1820
-S'abc$'
+tp1819
+aaa(lp1820
+S'^'
 p1821
 ag3
 a(lp1822
-(S'aabc'
+(S'abc'
 p1823
-S' 0: abc'
+S' 0: '
 p1824
 tp1825
-a(S'*** Failers'
-p1826
-S'No match'
+aaa(lp1826
+S'$'
 p1827
-tp1828
-a(S'aabc'
+ag3
+a(lp1828
+(S'abc'
 p1829
-S' 0: abc'
+S' 0: '
 p1830
 tp1831
-a(S'aabcd'
-p1832
-S'No match'
+aaa(lp1832
+S'a.c'
 p1833
-tp1834
-aaa(lp1835
-S'^'
-p1836
 ag3
-a(lp1837
+a(lp1834
 (S'abc'
+p1835
+S' 0: abc'
+p1836
+tp1837
+a(S'axc'
 p1838
-S' 0: '
+S' 0: axc'
 p1839
 tp1840
 aaa(lp1841
-S'$'
+S'a.*c'
 p1842
 ag3
 a(lp1843
-(S'abc'
+(S'axyzc'
 p1844
-S' 0: '
+S' 0: axyzc'
 p1845
 tp1846
 aaa(lp1847
-S'a.c'
+S'a[bc]d'
 p1848
 ag3
 a(lp1849
-(S'abc'
+(S'abd'
 p1850
-S' 0: abc'
+S' 0: abd'
 p1851
 tp1852
-a(S'axc'
+a(S'*** Failers'
 p1853
-S' 0: axc'
+S'No match'
 p1854
 tp1855
-aaa(lp1856
-S'a.*c'
+a(S'axyzd'
+p1856
+S'No match'
 p1857
-ag3
-a(lp1858
-(S'axyzc'
+tp1858
+a(S'abc'
 p1859
-S' 0: axyzc'
+S'No match'
 p1860
 tp1861
 aaa(lp1862
-S'a[bc]d'
+S'a[b-d]e'
 p1863
 ag3
 a(lp1864
-(S'abd'
+(S'ace'
 p1865
-S' 0: abd'
+S' 0: ace'
 p1866
 tp1867
-a(S'*** Failers'
-p1868
-S'No match'
-p1869
-tp1870
-a(S'axyzd'
-p1871
-S'No match'
-p1872
-tp1873
-a(S'abc'
-p1874
-S'No match'
-p1875
-tp1876
-aaa(lp1877
-S'a[b-d]e'
-p1878
-ag3
-a(lp1879
-(S'ace'
-p1880
-S' 0: ace'
-p1881
-tp1882
-aaa(lp1883
+aaa(lp1868
 S'a[b-d]'
-p1884
+p1869
 ag3
-a(lp1885
+a(lp1870
 (S'aac'
-p1886
+p1871
 S' 0: ac'
-p1887
-tp1888
-aaa(lp1889
+p1872
+tp1873
+aaa(lp1874
 S'a[-b]'
-p1890
+p1875
 ag3
-a(lp1891
+a(lp1876
 (S'a-'
-p1892
+p1877
 S' 0: a-'
-p1893
-tp1894
-aaa(lp1895
+p1878
+tp1879
+aaa(lp1880
 S'a[b-]'
-p1896
+p1881
 ag3
-a(lp1897
+a(lp1882
 (S'a-'
-p1898
+p1883
 S' 0: a-'
-p1899
-tp1900
-aaa(lp1901
+p1884
+tp1885
+aaa(lp1886
 S'a]'
-p1902
+p1887
 ag3
-a(lp1903
+a(lp1888
 (S'a]'
-p1904
+p1889
 S' 0: a]'
-p1905
-tp1906
-aaa(lp1907
+p1890
+tp1891
+aaa(lp1892
 S'a[]]b'
-p1908
+p1893
 ag3
-a(lp1909
+a(lp1894
 (S'a]b'
-p1910
+p1895
 S' 0: a]b'
+p1896
+tp1897
+aaa(lp1898
+S'a[^bc]d'
+p1899
+ag3
+a(lp1900
+(S'aed'
+p1901
+S' 0: aed'
+p1902
+tp1903
+a(S'*** Failers'
+p1904
+S'No match'
+p1905
+tp1906
+a(S'abd'
+p1907
+S'No match'
+p1908
+tp1909
+a(S'abd'
+p1910
+S'No match'
 p1911
 tp1912
 aaa(lp1913
-S'a[^bc]d'
+S'a[^-b]c'
 p1914
 ag3
 a(lp1915
-(S'aed'
+(S'adc'
 p1916
-S' 0: aed'
+S' 0: adc'
 p1917
 tp1918
-a(S'*** Failers'
-p1919
-S'No match'
+aaa(lp1919
+S'a[^]b]c'
 p1920
-tp1921
-a(S'abd'
+ag3
+a(lp1921
+(S'adc'
 p1922
-S'No match'
+S' 0: adc'
 p1923
 tp1924
-a(S'abd'
+a(S'*** Failers'
 p1925
 S'No match'
 p1926
 tp1927
-aaa(lp1928
-S'a[^-b]c'
+a(S'a-c'
+p1928
+S' 0: a-c'
 p1929
-ag3
-a(lp1930
-(S'adc'
+tp1930
+a(S'a]c'
 p1931
-S' 0: adc'
+S'No match'
 p1932
 tp1933
 aaa(lp1934
-S'a[^]b]c'
+S'\\ba\\b'
 p1935
 ag3
 a(lp1936
-(S'adc'
+(S'a-'
 p1937
-S' 0: adc'
+S' 0: a'
 p1938
 tp1939
-a(S'*** Failers'
+a(S'-a'
 p1940
-S'No match'
+S' 0: a'
 p1941
 tp1942
-a(S'a-c'
+a(S'-a-'
 p1943
-S' 0: a-c'
+S' 0: a'
 p1944
 tp1945
-a(S'a]c'
-p1946
-S'No match'
+aaa(lp1946
+S'\\by\\b'
 p1947
-tp1948
-aaa(lp1949
-S'\\ba\\b'
-p1950
 ag3
-a(lp1951
-(S'a-'
+a(lp1948
+(S'*** Failers'
+p1949
+S'No match'
+p1950
+tp1951
+a(S'xy'
 p1952
-S' 0: a'
+S'No match'
 p1953
 tp1954
-a(S'-a'
+a(S'yz'
 p1955
-S' 0: a'
+S'No match'
 p1956
 tp1957
-a(S'-a-'
+a(S'xyz'
 p1958
-S' 0: a'
+S'No match'
 p1959
 tp1960
 aaa(lp1961
-S'\\by\\b'
+S'\\Ba\\B'
 p1962
 ag3
 a(lp1963
 (S'*** Failers'
 p1964
-S'No match'
+S' 0: a'
 p1965
 tp1966
-a(S'xy'
+a(S'a-'
 p1967
 S'No match'
 p1968
 tp1969
-a(S'yz'
+a(S'-a'
 p1970
 S'No match'
 p1971
 tp1972
-a(S'xyz'
+a(S'-a-'
 p1973
 S'No match'
 p1974
 tp1975
 aaa(lp1976
-S'\\Ba\\B'
+S'\\By\\b'
 p1977
 ag3
 a(lp1978
-(S'*** Failers'
+(S'xy'
 p1979
-S' 0: a'
+S' 0: y'
 p1980
 tp1981
-a(S'a-'
-p1982
-S'No match'
-p1983
-tp1984
-a(S'-a'
-p1985
-S'No match'
-p1986
-tp1987
-a(S'-a-'
-p1988
-S'No match'
-p1989
-tp1990
-aaa(lp1991
-S'\\By\\b'
-p1992
-ag3
-a(lp1993
-(S'xy'
-p1994
-S' 0: y'
-p1995
-tp1996
-aaa(lp1997
+aaa(lp1982
 S'\\by\\B'
-p1998
+p1983
 ag3
-a(lp1999
+a(lp1984
 (S'yz'
-p2000
+p1985
 S' 0: y'
-p2001
-tp2002
-aaa(lp2003
+p1986
+tp1987
+aaa(lp1988
 S'\\By\\B'
-p2004
+p1989
 ag3
-a(lp2005
+a(lp1990
 (S'xyz'
-p2006
+p1991
 S' 0: y'
-p2007
-tp2008
-aaa(lp2009
+p1992
+tp1993
+aaa(lp1994
 S'\\w'
-p2010
+p1995
 ag3
-a(lp2011
+a(lp1996
 (g592
 S' 0: a'
-p2012
-tp2013
-aaa(lp2014
+p1997
+tp1998
+aaa(lp1999
 S'\\W'
-p2015
+p2000
 ag3
-a(lp2016
+a(lp2001
 (S'-'
-p2017
+p2002
 S' 0: -'
-p2018
-tp2019
+p2003
+tp2004
 a(S'*** Failers'
-p2020
+p2005
 S' 0: *'
-p2021
-tp2022
-a(g2017
+p2006
+tp2007
+a(g2002
 S' 0: -'
-p2023
-tp2024
+p2008
+tp2009
 a(g592
 S'No match'
-p2025
-tp2026
-aaa(lp2027
+p2010
+tp2011
+aaa(lp2012
 S'a\\sb'
-p2028
+p2013
 ag3
-a(lp2029
+a(lp2014
 (S'a b'
-p2030
+p2015
 S' 0: a b'
-p2031
-tp2032
-aaa(lp2033
+p2016
+tp2017
+aaa(lp2018
 S'a\\Sb'
-p2034
+p2019
 ag3
-a(lp2035
+a(lp2020
 (S'a-b'
-p2036
+p2021
 S' 0: a-b'
-p2037
-tp2038
+p2022
+tp2023
 a(S'*** Failers'
-p2039
+p2024
 S'No match'
-p2040
-tp2041
+p2025
+tp2026
 a(S'a-b'
-p2042
+p2027
 S' 0: a-b'
-p2043
-tp2044
+p2028
+tp2029
 a(S'a b'
-p2045
+p2030
 S'No match'
-p2046
-tp2047
-aaa(lp2048
+p2031
+tp2032
+aaa(lp2033
 S'\\d'
-p2049
+p2034
 ag3
-a(lp2050
+a(lp2035
 (g332
 S' 0: 1'
-p2051
-tp2052
-aaa(lp2053
+p2036
+tp2037
+aaa(lp2038
 S'\\D'
-p2054
+p2039
 ag3
-a(lp2055
-(g2017
+a(lp2040
+(g2002
 S' 0: -'
-p2056
-tp2057
+p2041
+tp2042
 a(S'*** Failers'
-p2058
+p2043
 S' 0: *'
-p2059
-tp2060
-a(g2017
+p2044
+tp2045
+a(g2002
 S' 0: -'
-p2061
-tp2062
+p2046
+tp2047
 a(g332
 S'No match'
-p2063
-tp2064
-aaa(lp2065
+p2048
+tp2049
+aaa(lp2050
 S'[\\w]'
-p2066
+p2051
 ag3
-a(lp2067
+a(lp2052
 (g592
 S' 0: a'
-p2068
-tp2069
-aaa(lp2070
+p2053
+tp2054
+aaa(lp2055
 S'[\\W]'
-p2071
+p2056
 ag3
-a(lp2072
-(g2017
+a(lp2057
+(g2002
 S' 0: -'
-p2073
-tp2074
+p2058
+tp2059
 a(S'*** Failers'
-p2075
+p2060
 S' 0: *'
-p2076
-tp2077
-a(g2017
+p2061
+tp2062
+a(g2002
 S' 0: -'
-p2078
-tp2079
+p2063
+tp2064
 a(g592
 S'No match'
-p2080
-tp2081
-aaa(lp2082
+p2065
+tp2066
+aaa(lp2067
 S'a[\\s]b'
-p2083
+p2068
 ag3
-a(lp2084
+a(lp2069
 (S'a b'
-p2085
+p2070
 S' 0: a b'
-p2086
-tp2087
-aaa(lp2088
+p2071
+tp2072
+aaa(lp2073
 S'a[\\S]b'
-p2089
+p2074
 ag3
-a(lp2090
+a(lp2075
 (S'a-b'
-p2091
+p2076
 S' 0: a-b'
-p2092
-tp2093
+p2077
+tp2078
 a(S'*** Failers'
-p2094
+p2079
 S'No match'
-p2095
-tp2096
+p2080
+tp2081
 a(S'a-b'
-p2097
+p2082
 S' 0: a-b'
-p2098
-tp2099
+p2083
+tp2084
 a(S'a b'
-p2100
+p2085
 S'No match'
-p2101
-tp2102
-aaa(lp2103
+p2086
+tp2087
+aaa(lp2088
 S'[\\d]'
-p2104
+p2089
 ag3
-a(lp2105
+a(lp2090
 (g332
 S' 0: 1'
-p2106
-tp2107
-aaa(lp2108
+p2091
+tp2092
+aaa(lp2093
 S'[\\D]'
-p2109
+p2094
 ag3
-a(lp2110
-(g2017
+a(lp2095
+(g2002
 S' 0: -'
-p2111
-tp2112
+p2096
+tp2097
 a(S'*** Failers'
-p2113
+p2098
 S' 0: *'
-p2114
-tp2115
-a(g2017
+p2099
+tp2100
+a(g2002
 S' 0: -'
-p2116
-tp2117
+p2101
+tp2102
 a(g332
 S'No match'
+p2103
+tp2104
+aaa(lp2105
+S'ab|cd'
+p2106
+ag3
+a(lp2107
+(S'abc'
+p2108
+S' 0: ab'
+p2109
+tp2110
+a(S'abcd'
+p2111
+S' 0: ab'
+p2112
+tp2113
+aaa(lp2114
+S'()ef'
+p2115
+ag3
+a(lp2116
+(S'def'
+p2117
+S' 0: ef'
 p2118
 tp2119
 aaa(lp2120
-S'ab|cd'
+S'$b'
 p2121
 ag3
 a(lp2122
-(S'abc'
-p2123
-S' 0: ab'
+aa(lp2123
+S'a\\(b'
 p2124
-tp2125
-a(S'abcd'
+ag3
+a(lp2125
+(S'a(b'
 p2126
-S' 0: ab'
+S' 0: a(b'
 p2127
 tp2128
 aaa(lp2129
-S'()ef'
+S'a\\(*b'
 p2130
 ag3
 a(lp2131
-(S'def'
+(S'ab'
 p2132
-S' 0: ef'
+S' 0: ab'
 p2133
 tp2134
-aaa(lp2135
-S'$b'
+a(S'a((b'
+p2135
+S' 0: a((b'
 p2136
-ag3
-a(lp2137
-aa(lp2138
-S'a\\(b'
+tp2137
+aaa(lp2138
+S'a\\\\b'
 p2139
 ag3
 a(lp2140
-(S'a(b'
+(S'a\x08'
 p2141
-S' 0: a(b'
+S'No match'
 p2142
 tp2143
 aaa(lp2144
-S'a\\(*b'
+S'((a))'
 p2145
 ag3
 a(lp2146
-(S'ab'
+(S'abc'
 p2147
-S' 0: ab'
+S' 0: a'
 p2148
 tp2149
-a(S'a((b'
-p2150
-S' 0: a((b'
-p2151
-tp2152
-aaa(lp2153
-S'a\\\\b'
-p2154
-ag3
-a(lp2155
-(S'a\x08'
-p2156
-S'No match'
-p2157
-tp2158
-aaa(lp2159
-S'((a))'
-p2160
-ag3
-a(lp2161
-(S'abc'
-p2162
-S' 0: a'
-p2163
-tp2164
-aaa(lp2165
+aaa(lp2150
 S'(a)b(c)'
-p2166
+p2151
 ag3
-a(lp2167
+a(lp2152
 (S'abc'
-p2168
+p2153
 S' 0: abc'
-p2169
-tp2170
-aaa(lp2171
+p2154
+tp2155
+aaa(lp2156
 S'a+b+c'
-p2172
+p2157
 ag3
-a(lp2173
+a(lp2158
 (S'aabbabc'
-p2174
+p2159
 S' 0: abc'
-p2175
-tp2176
-aaa(lp2177
+p2160
+tp2161
+aaa(lp2162
 S'a{1,}b{1,}c'
-p2178
+p2163
 ag3
-a(lp2179
+a(lp2164
 (S'aabbabc'
-p2180
+p2165
 S' 0: abc'
-p2181
-tp2182
-aaa(lp2183
+p2166
+tp2167
+aaa(lp2168
 S'(a+|b)*'
-p2184
+p2169
 ag3
-a(lp2185
+a(lp2170
 (S'ab'
-p2186
+p2171
 S' 0: ab'
-p2187
-tp2188
-aaa(lp2189
+p2172
+tp2173
+aaa(lp2174
 S'(a+|b){0,}'
-p2190
+p2175
 ag3
-a(lp2191
+a(lp2176
 (S'ab'
-p2192
+p2177
 S' 0: ab'
-p2193
-tp2194
-aaa(lp2195
+p2178
+tp2179
+aaa(lp2180
 S'(a+|b)+'
-p2196
+p2181
 ag3
-a(lp2197
+a(lp2182
 (S'ab'
-p2198
+p2183
 S' 0: ab'
-p2199
-tp2200
-aaa(lp2201
+p2184
+tp2185
+aaa(lp2186
 S'(a+|b){1,}'
-p2202
+p2187
 ag3
-a(lp2203
+a(lp2188
 (S'ab'
-p2204
+p2189
 S' 0: ab'
-p2205
-tp2206
-aaa(lp2207
+p2190
+tp2191
+aaa(lp2192
 S'(a+|b)?'
-p2208
+p2193
 ag3
-a(lp2209
+a(lp2194
 (S'ab'
-p2210
+p2195
 S' 0: a'
-p2211
-tp2212
-aaa(lp2213
+p2196
+tp2197
+aaa(lp2198
 S'(a+|b){0,1}'
-p2214
+p2199
 ag3
-a(lp2215
+a(lp2200
 (S'ab'
-p2216
+p2201
 S' 0: a'
-p2217
-tp2218
-aaa(lp2219
+p2202
+tp2203
+aaa(lp2204
 S'[^ab]*'
-p2220
+p2205
 ag3
-a(lp2221
+a(lp2206
 (S'cde'
-p2222
+p2207
 S' 0: cde'
-p2223
-tp2224
-aaa(lp2225
+p2208
+tp2209
+aaa(lp2210
 S'abc'
-p2226
+p2211
 ag3
-a(lp2227
+a(lp2212
 (S'*** Failers'
-p2228
+p2213
 S'No match'
-p2229
-tp2230
+p2214
+tp2215
 a(g835
 S'No match'
-p2231
-tp2232
-aaa(lp2233
+p2216
+tp2217
+aaa(lp2218
 S'a*'
-p2234
+p2219
 ag3
-a(lp2235
-aa(lp2236
+a(lp2220
+aa(lp2221
 S'([abc])*d'
-p2237
+p2222
 ag3
-a(lp2238
+a(lp2223
 (S'abbbcd'
-p2239
+p2224
 S' 0: abbbcd'
-p2240
-tp2241
-aaa(lp2242
+p2225
+tp2226
+aaa(lp2227
 S'([abc])*bcd'
-p2243
+p2228
 ag3
-a(lp2244
+a(lp2229
 (S'abcd'
-p2245
+p2230
 S' 0: abcd'
-p2246
-tp2247
-aaa(lp2248
+p2231
+tp2232
+aaa(lp2233
 S'a|b|c|d|e'
-p2249
+p2234
 ag3
-a(lp2250
+a(lp2235
 (S'e'
-p2251
+p2236
 S' 0: e'
-p2252
-tp2253
-aaa(lp2254
+p2237
+tp2238
+aaa(lp2239
 S'(a|b|c|d|e)f'
-p2255
+p2240
 ag3
-a(lp2256
+a(lp2241
 (S'ef'
-p2257
+p2242
 S' 0: ef'
+p2243
+tp2244
+aaa(lp2245
+S'abcd*efg'
+p2246
+ag3
+a(lp2247
+(S'abcdefg'
+p2248
+S' 0: abcdefg'
+p2249
+tp2250
+aaa(lp2251
+S'ab*'
+p2252
+ag3
+a(lp2253
+(S'xabyabbbz'
+p2254
+S' 0: ab'
+p2255
+tp2256
+a(S'xayabbbz'
+p2257
+S' 0: a'
 p2258
 tp2259
 aaa(lp2260
-S'abcd*efg'
+S'(ab|cd)e'
 p2261
 ag3
 a(lp2262
-(S'abcdefg'
+(S'abcde'
 p2263
-S' 0: abcdefg'
+S' 0: cde'
 p2264
 tp2265
 aaa(lp2266
-S'ab*'
+S'[abhgefdc]ij'
 p2267
 ag3
 a(lp2268
-(S'xabyabbbz'
+(S'hij'
 p2269
-S' 0: ab'
+S' 0: hij'
 p2270
 tp2271
-a(S'xayabbbz'
-p2272
-S' 0: a'
+aaa(lp2272
+S'^(ab|cd)e'
 p2273
-tp2274
-aaa(lp2275
-S'(ab|cd)e'
+ag3
+a(lp2274
+aa(lp2275
+S'(abc|)ef'
 p2276
 ag3
 a(lp2277
-(S'abcde'
+(S'abcdef'
 p2278
-S' 0: cde'
+S' 0: ef'
 p2279
 tp2280
 aaa(lp2281
-S'[abhgefdc]ij'
+S'(a|b)c*d'
 p2282
 ag3
 a(lp2283
-(S'hij'
+(S'abcd'
 p2284
-S' 0: hij'
+S' 0: bcd'
 p2285
 tp2286
 aaa(lp2287
-S'^(ab|cd)e'
+S'(ab|ab*)bc'
 p2288
 ag3
 a(lp2289
-aa(lp2290
-S'(abc|)ef'
-p2291
-ag3
-a(lp2292
-(S'abcdef'
-p2293
-S' 0: ef'
-p2294
-tp2295
-aaa(lp2296
-S'(a|b)c*d'
-p2297
-ag3
-a(lp2298
-(S'abcd'
-p2299
-S' 0: bcd'
-p2300
-tp2301
-aaa(lp2302
-S'(ab|ab*)bc'
-p2303
-ag3
-a(lp2304
 (S'abc'
-p2305
+p2290
 S' 0: abc'
-p2306
-tp2307
-aaa(lp2308
+p2291
+tp2292
+aaa(lp2293
 S'a([bc]*)c*'
-p2309
+p2294
 ag3
-a(lp2310
+a(lp2295
 (S'abc'
-p2311
+p2296
 S' 0: abc'
-p2312
-tp2313
-aaa(lp2314
+p2297
+tp2298
+aaa(lp2299
 S'a([bc]*)(c*d)'
-p2315
+p2300
 ag3
-a(lp2316
+a(lp2301
 (S'abcd'
-p2317
+p2302
 S' 0: abcd'
-p2318
-tp2319
-aaa(lp2320
+p2303
+tp2304
+aaa(lp2305
 S'a([bc]+)(c*d)'
-p2321
+p2306
 ag3
-a(lp2322
+a(lp2307
 (S'abcd'
-p2323
+p2308
 S' 0: abcd'
-p2324
-tp2325
-aaa(lp2326
+p2309
+tp2310
+aaa(lp2311
 S'a([bc]*)(c+d)'
-p2327
+p2312
 ag3
-a(lp2328
+a(lp2313
 (S'abcd'
-p2329
+p2314
 S' 0: abcd'
-p2330
-tp2331
-aaa(lp2332
+p2315
+tp2316
+aaa(lp2317
 S'a[bcd]*dcdcde'
-p2333
+p2318
 ag3
-a(lp2334
+a(lp2319
 (S'adcdcde'
-p2335
+p2320
 S' 0: adcdcde'
-p2336
-tp2337
-aaa(lp2338
+p2321
+tp2322
+aaa(lp2323
 S'a[bcd]+dcdcde'
-p2339
+p2324
 ag3
-a(lp2340
+a(lp2325
 (S'*** Failers'
-p2341
+p2326
 S'No match'
-p2342
-tp2343
+p2327
+tp2328
 a(S'abcde'
-p2344
+p2329
 S'No match'
-p2345
-tp2346
+p2330
+tp2331
 a(S'adcdcde'
-p2347
+p2332
 S'No match'
-p2348
-tp2349
-aaa(lp2350
+p2333
+tp2334
+aaa(lp2335
 S'(ab|a)b*c'
-p2351
+p2336
 ag3
-a(lp2352
+a(lp2337
 (S'abc'
-p2353
+p2338
 S' 0: abc'
-p2354
-tp2355
-aaa(lp2356
+p2339
+tp2340
+aaa(lp2341
 S'((a)(b)c)(d)'
-p2357
+p2342
 ag3
-a(lp2358
+a(lp2343
 (S'abcd'
-p2359
+p2344
 S' 0: abcd'
-p2360
-tp2361
-aaa(lp2362
+p2345
+tp2346
+aaa(lp2347
 S'[a-zA-Z_][a-zA-Z0-9_]*'
-p2363
+p2348
 ag3
-a(lp2364
+a(lp2349
 (S'alpha'
-p2365
+p2350
 S' 0: alpha'
-p2366
-tp2367
-aaa(lp2368
+p2351
+tp2352
+aaa(lp2353
 S'^a(bc+|b[eh])g|.h$'
-p2369
+p2354
 ag3
-a(lp2370
+a(lp2355
 (S'abh'
-p2371
+p2356
 S' 0: bh'
-p2372
-tp2373
-aaa(lp2374
+p2357
+tp2358
+aaa(lp2359
 S'(bc+d$|ef*g.|h?i(j|k))'
-p2375
+p2360
 ag3
-a(lp2376
+a(lp2361
 (S'effgz'
-p2377
+p2362
 S' 0: effgz'
-p2378
-tp2379
+p2363
+tp2364
 a(S'ij'
-p2380
+p2365
 S' 0: ij'
-p2381
-tp2382
-a(S'reffgz'
-p2383
+p2366
+tp2367
+a(S'reffgz'
+p2368
 S' 0: effgz'
-p2384
-tp2385
+p2369
+tp2370
 a(S'*** Failers'
-p2386
+p2371
 S'No match'
-p2387
-tp2388
+p2372
+tp2373
 a(S'effg'
-p2389
+p2374
 S'No match'
-p2390
-tp2391
+p2375
+tp2376
 a(S'bcdd'
-p2392
+p2377
 S'No match'
-p2393
-tp2394
-aaa(lp2395
+p2378
+tp2379
+aaa(lp2380
 S'((((((((((a))))))))))'
-p2396
+p2381
 ag3
-a(lp2397
+a(lp2382
 (g592
 S' 0: a'
-p2398
-tp2399
-aaa(lp2400
+p2383
+tp2384
+aaa(lp2385
 S'(((((((((a)))))))))'
-p2401
+p2386
 ag3
-a(lp2402
+a(lp2387
 (g592
 S' 0: a'
-p2403
-tp2404
-aaa(lp2405
+p2388
+tp2389
+aaa(lp2390
 S'multiple words of text'
-p2406
+p2391
 ag3
-a(lp2407
+a(lp2392
 (S'*** Failers'
-p2408
+p2393
 S'No match'
-p2409
-tp2410
+p2394
+tp2395
 a(S'aa'
-p2411
+p2396
 S'No match'
-p2412
-tp2413
+p2397
+tp2398
 a(S'uh-uh'
-p2414
+p2399
 S'No match'
-p2415
-tp2416
-aaa(lp2417
+p2400
+tp2401
+aaa(lp2402
 S'multiple words'
-p2418
+p2403
 ag3
-a(lp2419
+a(lp2404
 (S'multiple words, yeah'
-p2420
+p2405
 S' 0: multiple words'
-p2421
-tp2422
-aaa(lp2423
+p2406
+tp2407
+aaa(lp2408
 S'(.*)c(.*)'
-p2424
+p2409
 ag3
-a(lp2425
+a(lp2410
 (S'abcde'
-p2426
+p2411
 S' 0: abcde'
-p2427
-tp2428
-aaa(lp2429
+p2412
+tp2413
+aaa(lp2414
 S'\\((.*), (.*)\\)'
-p2430
+p2415
 ag3
-a(lp2431
+a(lp2416
 (S'(a, b)'
-p2432
+p2417
 S' 0: (a, b)'
-p2433
-tp2434
-aaa(lp2435
+p2418
+tp2419
+aaa(lp2420
 S'[k]'
-p2436
+p2421
 ag3
-a(lp2437
-aa(lp2438
+a(lp2422
+aa(lp2423
 S'abcd'
-p2439
+p2424
 ag3
-a(lp2440
+a(lp2425
 (S'abcd'
-p2441
+p2426
 S' 0: abcd'
-p2442
-tp2443
-aaa(lp2444
+p2427
+tp2428
+aaa(lp2429
 S'a(bc)d'
-p2445
+p2430
 ag3
-a(lp2446
+a(lp2431
 (S'abcd'
-p2447
+p2432
 S' 0: abcd'
-p2448
-tp2449
-aaa(lp2450
+p2433
+tp2434
+aaa(lp2435
 S'a[-]?c'
-p2451
+p2436
 ag3
-a(lp2452
+a(lp2437
 (S'ac'
-p2453
+p2438
 S' 0: ac'
-p2454
-tp2455
-aaa(lp2456
+p2439
+tp2440
+aaa(lp2441
 S'((\\3|b)\\2(a)x)+'
-p2457
+p2442
 ag3
-a(lp2458
+a(lp2443
 (S'aaaxabaxbaaxbbax'
-p2459
+p2444
 S' 0: bbax'
-p2460
-tp2461
-aaa(lp2462
+p2445
+tp2446
+aaa(lp2447
 S'((\\3|b)\\2(a)){2,}'
-p2463
+p2448
 ag3
-a(lp2464
+a(lp2449
 (S'bbaababbabaaaaabbaaaabba'
-p2465
+p2450
 S' 0: bbaaaabba'
-p2466
-tp2467
-aaa(lp2468
+p2451
+tp2452
+aaa(lp2453
 S'((foo)|(bar))*'
-p2469
+p2454
 ag3
-a(lp2470
+a(lp2455
 (S'foobar'
-p2471
+p2456
 S' 0: foobar'
-p2472
-tp2473
-aaa(lp2474
+p2457
+tp2458
+aaa(lp2459
 S'^(.+)?B'
-p2475
+p2460
 ag3
-a(lp2476
+a(lp2461
 (S'AB'
-p2477
+p2462
 S' 0: AB'
-p2478
-tp2479
-aaa(lp2480
+p2463
+tp2464
+aaa(lp2465
 S'^([^a-z])|(\\^)$'
-p2481
+p2466
 ag3
-a(lp2482
+a(lp2467
 (S'.'
-p2483
+p2468
 S' 0: .'
-p2484
-tp2485
-aaa(lp2486
+p2469
+tp2470
+aaa(lp2471
 S'^[<>]&'
-p2487
+p2472
 ag3
-a(lp2488
+a(lp2473
 (S'<&OUT'
-p2489
+p2474
 S' 0: <&'
-p2490
-tp2491
-aaa(lp2492
+p2475
+tp2476
+aaa(lp2477
 S'^(){3,5}'
-p2493
+p2478
 ag3
-a(lp2494
+a(lp2479
 (S'abc'
-p2495
+p2480
 S' 0: '
-p2496
-tp2497
-aaa(lp2498
+p2481
+tp2482
+aaa(lp2483
 S'^(a+)*ax'
-p2499
+p2484
 ag3
-a(lp2500
+a(lp2485
 (S'aax'
-p2501
+p2486
 S' 0: aax'
-p2502
-tp2503
-aaa(lp2504
+p2487
+tp2488
+aaa(lp2489
 S'^((a|b)+)*ax'
-p2505
+p2490
 ag3
-a(lp2506
+a(lp2491
 (S'aax'
-p2507
+p2492
 S' 0: aax'
-p2508
-tp2509
-aaa(lp2510
+p2493
+tp2494
+aaa(lp2495
 S'^((a|bc)+)*ax'
-p2511
+p2496
 ag3
-a(lp2512
+a(lp2497
 (S'aax'
-p2513
+p2498
 S' 0: aax'
-p2514
-tp2515
-aaa(lp2516
+p2499
+tp2500
+aaa(lp2501
 S'(a|x)*ab'
-p2517
+p2502
 ag3
-a(lp2518
+a(lp2503
 (S'cab'
-p2519
+p2504
 S' 0: ab'
-p2520
-tp2521
-aaa(lp2522
+p2505
+tp2506
+aaa(lp2507
 S'(a)*ab'
+p2508
+ag3
+a(lp2509
+(S'cab'
+p2510
+S' 0: ab'
+p2511
+tp2512
+aaa(lp2513
+S'foo\\w*\\d{4}baz'
+p2514
+ag3
+a(lp2515
+(S'foobar1234baz'
+p2516
+S' 0: foobar1234baz'
+p2517
+tp2518
+aaa(lp2519
+S'^b'
+p2520
+ag3
+a(lp2521
+aa(lp2522
+S'(\\w+:)+'
 p2523
 ag3
 a(lp2524
-(S'cab'
+(S'one:'
 p2525
-S' 0: ab'
+S' 0: one:'
 p2526
 tp2527
 aaa(lp2528
-S'foo\\w*\\d{4}baz'
+S'([\\w:]+::)?(\\w+)$'
 p2529
 ag3
 a(lp2530
-(S'foobar1234baz'
+(S'abcd'
 p2531
-S' 0: foobar1234baz'
+S' 0: abcd'
 p2532
 tp2533
-aaa(lp2534
-S'^b'
+a(S'xy:z:::abcd'
+p2534
+S' 0: xy:z:::abcd'
 p2535
-ag3
-a(lp2536
-aa(lp2537
-S'()^b'
+tp2536
+aaa(lp2537
+S'^[^bcd]*(c+)'
 p2538
 ag3
 a(lp2539
-(S'*** Failers'
+(S'aexycd'
 p2540
-S'No match'
+S' 0: aexyc'
 p2541
 tp2542
-a(S'a\nb\nc\n'
-p2543
-S'No match'
+aaa(lp2543
+S'(a*)b+'
 p2544
-tp2545
-a(S'a\nb\nc\n'
+ag3
+a(lp2545
+(S'caab'
 p2546
-S'No match'
+S' 0: aab'
 p2547
 tp2548
 aaa(lp2549
-S'(\\w+:)+'
+S'([\\w:]+::)?(\\w+)$'
 p2550
 ag3
 a(lp2551
-(S'one:'
+(S'abcd'
 p2552
-S' 0: one:'
+S' 0: abcd'
 p2553
 tp2554
-aaa(lp2555
-S'([\\w:]+::)?(\\w+)$'
+a(S'xy:z:::abcd'
+p2555
+S' 0: xy:z:::abcd'
 p2556
-ag3
-a(lp2557
-(S'abcd'
+tp2557
+a(S'*** Failers'
 p2558
-S' 0: abcd'
+S' 0: Failers'
 p2559
 tp2560
-a(S'xy:z:::abcd'
+a(S'abcd:'
 p2561
-S' 0: xy:z:::abcd'
+S'No match'
 p2562
 tp2563
-aaa(lp2564
-S'^[^bcd]*(c+)'
+a(S'abcd:'
+p2564
+S'No match'
 p2565
+tp2566
+aaa(lp2567
+S'^[^bcd]*(c+)'
+p2568
 ag3
-a(lp2566
+a(lp2569
 (S'aexycd'
-p2567
+p2570
 S' 0: aexyc'
-p2568
-tp2569
-aaa(lp2570
-S'(a*)b+'
 p2571
-ag3
-a(lp2572
-(S'caab'
-p2573
-S' 0: aab'
+tp2572
+aaa(lp2573
+S'(>a+)ab'
 p2574
-tp2575
-aaa(lp2576
-S'([\\w:]+::)?(\\w+)$'
+ag3
+a(lp2575
+aa(lp2576
+S'([[:]+)'
 p2577
 ag3
 a(lp2578
-(S'abcd'
+(S'a:[b]:'
 p2579
-S' 0: abcd'
+S' 0: :['
 p2580
 tp2581
-a(S'xy:z:::abcd'
-p2582
-S' 0: xy:z:::abcd'
+aaa(lp2582
+S'([[=]+)'
 p2583
-tp2584
-a(S'*** Failers'
+ag3
+a(lp2584
+(S'a=[b]='
 p2585
-S' 0: Failers'
+S' 0: =['
 p2586
 tp2587
-a(S'abcd:'
-p2588
-S'No match'
+aaa(lp2588
+S'([[.]+)'
 p2589
-tp2590
-a(S'abcd:'
+ag3
+a(lp2590
+(S'a.[b].'
 p2591
-S'No match'
+S' 0: .['
 p2592
 tp2593
 aaa(lp2594
-S'^[^bcd]*(c+)'
+S'a\\Z'
 p2595
 ag3
 a(lp2596
-(S'aexycd'
+(S'*** Failers'
 p2597
-S' 0: aexyc'
+S'No match'
 p2598
 tp2599
-aaa(lp2600
-S'(>a+)ab'
-p2601
-ag3
-a(lp2602
-aa(lp2603
-S'([[:]+)'
-p2604
-ag3
-a(lp2605
-(S'a:[b]:'
-p2606
-S' 0: :['
-p2607
-tp2608
-aaa(lp2609
-S'([[=]+)'
-p2610
-ag3
-a(lp2611
-(S'a=[b]='
-p2612
-S' 0: =['
-p2613
-tp2614
-aaa(lp2615
-S'([[.]+)'
-p2616
-ag3
-a(lp2617
-(S'a.[b].'
-p2618
-S' 0: .['
-p2619
-tp2620
-aaa(lp2621
-S'a\\Z'
-p2622
-ag3
-a(lp2623
-(S'*** Failers'
-p2624
-S'No match'
-p2625
-tp2626
 a(S'aaab'
-p2627
+p2600
 S'No match'
-p2628
-tp2629
+p2601
+tp2602
 a(S'a\nb\n'
-p2630
+p2603
 S'No match'
-p2631
-tp2632
-aaa(lp2633
+p2604
+tp2605
+aaa(lp2606
 S'b\\Z'
-p2634
+p2607
 ag3
-a(lp2635
+a(lp2608
 (S'a\nb\n'
-p2636
+p2609
 S' 0: b'
-p2637
-tp2638
-aaa(lp2639
+p2610
+tp2611
+aaa(lp2612
 S'b\\z'
-p2640
+p2613
 ag3
-a(lp2641
-aa(lp2642
+a(lp2614
+aa(lp2615
 S'b\\Z'
-p2643
+p2616
 ag3
-a(lp2644
+a(lp2617
 (S'a\nb'
-p2645
+p2618
 S' 0: b'
-p2646
-tp2647
-aaa(lp2648
+p2619
+tp2620
+aaa(lp2621
 S'b\\z'
-p2649
+p2622
 ag3
-a(lp2650
+a(lp2623
 (S'a\nb'
-p2651
+p2624
 S' 0: b'
-p2652
-tp2653
+p2625
+tp2626
 a(S'*** Failers'
-p2654
+p2627
 S'No match'
-p2655
-tp2656
-aaa(lp2657
+p2628
+tp2629
+aaa(lp2630
 S'((Z)+|A)*'
-p2658
+p2631
 ag3
-a(lp2659
+a(lp2632
 (S'ZABCDEFG'
-p2660
+p2633
 S' 0: ZA'
-p2661
-tp2662
-aaa(lp2663
+p2634
+tp2635
+aaa(lp2636
 S'(Z()|A)*'
-p2664
+p2637
 ag3
-a(lp2665
+a(lp2638
 (S'ZABCDEFG'
-p2666
+p2639
 S' 0: ZA'
-p2667
-tp2668
-aaa(lp2669
+p2640
+tp2641
+aaa(lp2642
 S'(Z(())|A)*'
-p2670
+p2643
 ag3
-a(lp2671
+a(lp2644
 (S'ZABCDEFG'
-p2672
+p2645
 S' 0: ZA'
-p2673
-tp2674
-aaa(lp2675
+p2646
+tp2647
+aaa(lp2648
 S'^[a-\\d]'
-p2676
+p2649
 ag3
-a(lp2677
+a(lp2650
 (S'abcde'
-p2678
+p2651
 S' 0: a'
-p2679
-tp2680
+p2652
+tp2653
 a(S'-things'
-p2681
+p2654
 S' 0: -'
-p2682
-tp2683
+p2655
+tp2656
 a(S'0digit'
-p2684
+p2657
 S' 0: 0'
-p2685
-tp2686
+p2658
+tp2659
 a(S'*** Failers'
-p2687
+p2660
 S'No match'
-p2688
-tp2689
+p2661
+tp2662
 a(S'bcdef'
-p2690
+p2663
 S'No match'
-p2691
-tp2692
-aaa(lp2693
+p2664
+tp2665
+aaa(lp2666
 S'^[\\d-a]'
-p2694
+p2667
 ag3
-a(lp2695
+a(lp2668
 (S'abcde'
-p2696
+p2669
 S' 0: a'
-p2697
-tp2698
+p2670
+tp2671
 a(S'-things'
-p2699
+p2672
 S' 0: -'
-p2700
-tp2701
+p2673
+tp2674
 a(S'0digit'
-p2702
+p2675
 S' 0: 0'
-p2703
-tp2704
+p2676
+tp2677
 a(S'*** Failers'
-p2705
+p2678
 S'No match'
-p2706
-tp2707
+p2679
+tp2680
 a(S'bcdef'
-p2708
+p2681
 S'No match'
-p2709
-tp2710
-aaa(lp2711
+p2682
+tp2683
+aaa(lp2684
 S'[[:space:]]+'
-p2712
+p2685
 ag3
-a(lp2713
+a(lp2686
 (S'> \t\n\x0c\r\x0b<'
-p2714
+p2687
 S' 0:  \t\n\x0c\r\x0b'
-p2715
-tp2716
-aaa(lp2717
+p2688
+tp2689
+aaa(lp2690
 S'[[:blank:]]+'
-p2718
+p2691
 ag3
-a(lp2719
+a(lp2692
 (S'> \t\n\x0c\r\x0b<'
-p2720
+p2693
 S' 0:  \t'
-p2721
-tp2722
-aaa(lp2723
+p2694
+tp2695
+aaa(lp2696
 S'[\\s]+'
-p2724
+p2697
 ag3
-a(lp2725
+a(lp2698
 (S'> \t\n\x0c\r\x0b<'
-p2726
+p2699
 S' 0:  \t\n\x0c\r'
-p2727
-tp2728
-aaa(lp2729
+p2700
+tp2701
+aaa(lp2702
 S'\\s+'
-p2730
+p2703
 ag3
-a(lp2731
+a(lp2704
 (S'> \t\n\x0c\r\x0b<'
-p2732
+p2705
 S' 0:  \t\n\x0c\r'
-p2733
-tp2734
-aaa(lp2735
-S'abc\\Qabc\\Eabc'
-p2736
-ag3
-a(lp2737
-(S'abcabcabc'
-p2738
-S' 0: abcabcabc'
-p2739
-tp2740
-aaa(lp2741
-S'abc\\Q(*+|\\Eabc'
-p2742
-ag3
-a(lp2743
-(S'abc(*+|abc'
-p2744
-S' 0: abc(*+|abc'
-p2745
-tp2746
-aaa(lp2747
-S'\\Qabc\\$xyz\\E'
-p2748
-ag3
-a(lp2749
-(S'abc\\$xyz'
-p2750
-S' 0: abc\\$xyz'
-p2751
-tp2752
-aaa(lp2753
-S'\\Qabc\\E\\$\\Qxyz\\E'
-p2754
-ag3
-a(lp2755
-(S'abc$xyz'
-p2756
-S' 0: abc$xyz'
-p2757
-tp2758
-aaa(lp2759
+p2706
+tp2707
+aaa(lp2708
 S'\\Gabc'
-p2760
+p2709
 ag3
-a(lp2761
+a(lp2710
 (S'abc'
-p2762
+p2711
 S' 0: abc'
-p2763
-tp2764
+p2712
+tp2713
 a(S'*** Failers'
-p2765
+p2714
 S'No match'
-p2766
-tp2767
+p2715
+tp2716
 a(S'xyzabc'
-p2768
-S'No match'
-p2769
-tp2770
-aaa(lp2771
-S'-- This tests for an IPv6 address in the form where it can have up to --'
-p2772
-ag3
-a(lp2773
-(S'/-- eight components, one and only one of which is empty. This must be --/'
-p2774
-S'No match'
-p2775
-tp2776
-a(S'/-- an internal component. --/'
-p2777
-S'No match'
-p2778
-tp2779
-aaa(lp2780
-S'[z\\Qa-d]\\E]'
-p2781
-ag3
-a(lp2782
-(g583
-S' 0: z'
-p2783
-tp2784
-a(g592
-S' 0: a'
-p2785
-tp2786
-a(g2017
-S' 0: -'
-p2787
-tp2788
-a(S'd'
-p2789
-S' 0: d'
-p2790
-tp2791
-a(S']'
-p2792
-S' 0: ]'
-p2793
-tp2794
-a(S'*** Failers'
-p2795
-S' 0: a'
-p2796
-tp2797
-a(g835
+p2717
 S'No match'
-p2798
-tp2799
-aaa(lp2800
+p2718
+tp2719
+aaa(lp2720
 S'[\\z\\C]'
-p2801
+p2721
 ag3
-a(lp2802
+a(lp2722
 (g583
 S' 0: z'
-p2803
-tp2804
+p2723
+tp2724
 a(S'C'
-p2805
+p2725
 S' 0: C'
-p2806
-tp2807
-aaa(lp2808
+p2726
+tp2727
+aaa(lp2728
 S'\\M'
-p2809
+p2729
 ag3
-a(lp2810
+a(lp2730
 (S'M'
-p2811
+p2731
 S' 0: M'
-p2812
-tp2813
-aaa(lp2814
+p2732
+tp2733
+aaa(lp2734
 S'(a+)*b'
-p2815
+p2735
 ag3
-a(lp2816
+a(lp2736
 (S'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
-p2817
+p2737
 S'No match'
-p2818
-tp2819
-aaa(lp2820
+p2738
+tp2739
+aaa(lp2740
 S'\xc5\xe6\xe5\xe4[\xe0-\xff\xc0-\xdf]+'
-p2821
+p2741
 ag3
-a(lp2822
+a(lp2742
 (S'\xc5\xe6\xe5\xe4\xe0'
-p2823
+p2743
 S' 0: \xc5\xe6\xe5\xe4\xe0'
-p2824
-tp2825
+p2744
+tp2745
 a(S'\xc5\xe6\xe5\xe4\xff'
-p2826
+p2746
 S' 0: \xc5\xe6\xe5\xe4\xff'
-p2827
-tp2828
+p2747
+tp2748
 a(S'\xc5\xe6\xe5\xe4\xc0'
-p2829
+p2749
 S' 0: \xc5\xe6\xe5\xe4\xc0'
-p2830
-tp2831
+p2750
+tp2751
 a(S'\xc5\xe6\xe5\xe4\xdf'
-p2832
+p2752
 S' 0: \xc5\xe6\xe5\xe4\xdf'
-p2833
-tp2834
-aaa(lp2835
+p2753
+tp2754
+aaa(lp2755
 S'[[,abc,]+]'
-p2836
+p2756
 ag3
-a(lp2837
+a(lp2757
 (S'abc]'
-p2838
+p2758
 S' 0: abc]'
-p2839
-tp2840
+p2759
+tp2760
 a(S'a,b]'
-p2841
+p2761
 S' 0: a,b]'
-p2842
-tp2843
+p2762
+tp2763
 a(S'[a,b,c]'
-p2844
+p2764
 S' 0: [a,b,c]'
-p2845
-tp2846
-aaa(lp2847
+p2765
+tp2766
+aaa(lp2767
 S'a*b*\\w'
-p2848
+p2768
 ag3
-a(lp2849
+a(lp2769
 (S'aaabbbb'
-p2850
+p2770
 S' 0: aaabbbb'
-p2851
-tp2852
+p2771
+tp2772
 a(S'aaaa'
-p2853
+p2773
 S' 0: aaaa'
-p2854
-tp2855
+p2774
+tp2775
 a(g592
 S' 0: a'
-p2856
-tp2857
-aaa(lp2858
+p2776
+tp2777
+aaa(lp2778
 S'a*b?\\w'
-p2859
+p2779
 ag3
-a(lp2860
+a(lp2780
 (S'aaabbbb'
-p2861
+p2781
 S' 0: aaabb'
-p2862
-tp2863
+p2782
+tp2783
 a(S'aaaa'
-p2864
+p2784
 S' 0: aaaa'
-p2865
-tp2866
+p2785
+tp2786
 a(g592
 S' 0: a'
-p2867
-tp2868
-aaa(lp2869
+p2787
+tp2788
+aaa(lp2789
 S'a*b{0,4}\\w'
-p2870
+p2790
 ag3
-a(lp2871
+a(lp2791
 (S'aaabbbb'
-p2872
+p2792
 S' 0: aaabbbb'
-p2873
-tp2874
+p2793
+tp2794
 a(S'aaaa'
-p2875
+p2795
 S' 0: aaaa'
-p2876
-tp2877
+p2796
+tp2797
 a(g592
 S' 0: a'
-p2878
-tp2879
-aaa(lp2880
+p2798
+tp2799
+aaa(lp2800
 S'a*b{0,}\\w'
-p2881
+p2801
 ag3
-a(lp2882
+a(lp2802
 (S'aaabbbb'
-p2883
+p2803
 S' 0: aaabbbb'
-p2884
-tp2885
+p2804
+tp2805
 a(S'aaaa'
-p2886
+p2806
 S' 0: aaaa'
-p2887
-tp2888
+p2807
+tp2808
 a(g592
 S' 0: a'
-p2889
-tp2890
-aaa(lp2891
+p2809
+tp2810
+aaa(lp2811
 S'a*\\d*\\w'
-p2892
+p2812
 ag3
-a(lp2893
+a(lp2813
 (S'0a'
-p2894
+p2814
 S' 0: 0a'
-p2895
-tp2896
+p2815
+tp2816
 a(g592
 S' 0: a'
-p2897
-tp2898
-aaa(lp2899
+p2817
+tp2818
+aaa(lp2819
 S'^\\w+=.*(\\\\\\n.*)*'
-p2900
+p2820
 ag3
-a(lp2901
+a(lp2821
 (S'abc=xyz\\\npqr'
-p2902
+p2822
 S' 0: abc=xyz\\'
-p2903
-tp2904
-aaa(lp2905
-S'^\\Eabc'
-p2906
-ag3
-a(lp2907
-(S'abc'
-p2908
-S' 0: abc'
-p2909
-tp2910
-aaa(lp2911
-S'^[\\Eabc]'
-p2912
-ag3
-a(lp2913
-(g592
-S' 0: a'
-p2914
-tp2915
-a(S'** Failers'
-p2916
-S'No match'
-p2917
-tp2918
-a(S'E'
-p2919
-S'No match'
-p2920
-tp2921
-aaa(lp2922
-S'^[a-\\Ec]'
-p2923
-ag3
-a(lp2924
-(g835
-S' 0: b'
-p2925
-tp2926
-a(S'** Failers'
-p2927
-S'No match'
-p2928
-tp2929
-a(g2017
-S'No match'
-p2930
-tp2931
-a(g2919
-S'No match'
-p2932
-tp2933
-aaa(lp2934
-S'^[a\\E\\E-\\Ec]'
-p2935
-ag3
-a(lp2936
-(g835
-S' 0: b'
-p2937
-tp2938
-a(S'** Failers'
-p2939
-S'No match'
-p2940
-tp2941
-a(g2017
-S'No match'
-p2942
-tp2943
-a(g2919
-S'No match'
-p2944
-tp2945
-aaa(lp2946
-S'^[\\E\\Qa\\E-\\Qz\\E]+'
-p2947
-ag3
-a(lp2948
-(g835
-S' 0: b'
-p2949
-tp2950
-a(S'** Failers'
-p2951
-S'No match'
-p2952
-tp2953
-a(g2017
-S'No match'
-p2954
-tp2955
-aaa(lp2956
-S'^[a\\Q]bc\\E]'
-p2957
-ag3
-a(lp2958
-(g592
-S' 0: a'
-p2959
-tp2960
-a(g2792
-S' 0: ]'
-p2961
-tp2962
-a(S'c'
-p2963
-S' 0: c'
-p2964
-tp2965
-aaa(lp2966
-S'^[a-\\Q\\E]'
-p2967
-ag3
-a(lp2968
-(g592
-S' 0: a'
-p2969
-tp2970
-a(g2017
-S' 0: -'
-p2971
-tp2972
-aaa(lp2973
+p2823
+tp2824
+aaa(lp2825
 S'^(a()*)*'
-p2974
+p2826
 ag3
-a(lp2975
+a(lp2827
 (S'aaaa'
-p2976
+p2828
 S' 0: aaaa'
-p2977
-tp2978
-aaa(lp2979
+p2829
+tp2830
+aaa(lp2831
 S'^(a()+)+'
-p2980
+p2832
 ag3
-a(lp2981
+a(lp2833
 (S'aaaa'
-p2982
+p2834
 S' 0: aaaa'
-p2983
-tp2984
-aaa(lp2985
+p2835
+tp2836
+aaa(lp2837
 S'(a|)*\\d'
-p2986
+p2838
 ag3
-a(lp2987
+a(lp2839
 (S'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
-p2988
+p2840
 S'No match'
-p2989
-tp2990
+p2841
+tp2842
 a(S'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4'
-p2991
+p2843
 S' 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4'
-p2992
-tp2993
-aaa(lp2994
+p2844
+tp2845
+aaa(lp2846
 S'(.*(.)?)*'
-p2995
+p2847
 ag3
-a(lp2996
+a(lp2848
 (S'abcd'
-p2997
+p2849
 S' 0: abcd'
-p2998
-tp2999
-aaa(lp3000
+p2850
+tp2851
+aaa(lp2852
 S'[[:abcd:xyz]]'
-p3001
+p2853
 ag3
-a(lp3002
+a(lp2854
 (S'a]'
-p3003
+p2855
 S' 0: a]'
-p3004
-tp3005
+p2856
+tp2857
 a(S':]'
-p3006
+p2858
 S' 0: :]'
-p3007
-tp3008
-aaa(lp3009
+p2859
+tp2860
+aaa(lp2861
 S'[abc[:x\\]pqr]'
-p3010
+p2862
 ag3
-a(lp3011
+a(lp2863
 (g592
 S' 0: a'
-p3012
-tp3013
+p2864
+tp2865
 a(S'['
-p3014
+p2866
 S' 0: ['
-p3015
-tp3016
+p2867
+tp2868
 a(g441
 S' 0: :'
-p3017
-tp3018
-a(g2792
+p2869
+tp2870
+a(S']'
+p2871
 S' 0: ]'
-p3019
-tp3020
+p2872
+tp2873
 a(S'p'
-p3021
+p2874
 S' 0: p'
-p3022
-tp3023
-aaa(lp3024
+p2875
+tp2876
+aaa(lp2877
 S' End of testinput1 '
-p3025
+p2878
 ag3
-a(lp3026
+a(lp2879
 aa.
\ No newline at end of file

Added: pypy/dist/pypy/rlib/parsing/test/testoutput7.pickle
==============================================================================
--- (empty file)
+++ pypy/dist/pypy/rlib/parsing/test/testoutput7.pickle	Thu Apr  3 09:36:51 2008
@@ -0,0 +1,6238 @@
+(lp0
+(lp1
+S'abc'
+p2
+aS''
+p3
+a(lp4
+(S'abc'
+p5
+S' 0: abc'
+p6
+tp7
+aaa(lp8
+S'ab*c'
+p9
+ag3
+a(lp10
+(S'abc'
+p11
+S' 0: abc'
+p12
+tp13
+a(S'abbbbc'
+p14
+S' 0: abbbbc'
+p15
+tp16
+a(S'ac'
+p17
+S' 0: ac'
+p18
+tp19
+aaa(lp20
+S'ab+c'
+p21
+ag3
+a(lp22
+(S'abc'
+p23
+S' 0: abc'
+p24
+tp25
+a(S'abbbbbbc'
+p26
+S' 0: abbbbbbc'
+p27
+tp28
+a(S'*** Failers'
+p29
+S'No match'
+p30
+tp31
+a(S'ac'
+p32
+S'No match'
+p33
+tp34
+a(S'ab'
+p35
+S'No match'
+p36
+tp37
+aaa(lp38
+S'a*'
+p39
+ag3
+a(lp40
+(S'a'
+p41
+S' 0: a'
+p42
+tp43
+a(S'aaaaaaaaaaaaaaaaa'
+p44
+S' 0: aaaaaaaaaaaaaaaaa'
+p45
+tp46
+a(S'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+p47
+S' 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+p48
+tp49
+a(S'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaF'
+p50
+S' 0: '
+p51
+tp52
+aaa(lp53
+S'(a|abcd|african)'
+p54
+ag3
+a(lp55
+(g41
+S' 0: a'
+p56
+tp57
+a(S'abcd'
+p58
+S' 0: abcd'
+p59
+tp60
+a(S'african'
+p61
+S' 0: african'
+p62
+tp63
+aaa(lp64
+S'^abc'
+p65
+ag3
+a(lp66
+(S'abcdef'
+p67
+S' 0: abc'
+p68
+tp69
+a(S'*** Failers'
+p70
+S'No match'
+p71
+tp72
+a(S'xyzabc'
+p73
+S'No match'
+p74
+tp75
+a(S'xyz\nabc'
+p76
+S'No match'
+p77
+tp78
+aaa(lp79
+S'\\Aabc'
+p80
+ag3
+a(lp81
+(S'abcdef'
+p82
+S' 0: abc'
+p83
+tp84
+a(S'*** Failers'
+p85
+S'No match'
+p86
+tp87
+a(S'xyzabc'
+p88
+S'No match'
+p89
+tp90
+a(S'xyz\nabc'
+p91
+S'No match'
+p92
+tp93
+aaa(lp94
+S'\\Gabc'
+p95
+ag3
+a(lp96
+(S'abcdef'
+p97
+S' 0: abc'
+p98
+tp99
+a(S'xyzabc>3'
+p100
+S' 0: abc'
+p101
+tp102
+a(S'*** Failers'
+p103
+S'No match'
+p104
+tp105
+a(S'xyzabc'
+p106
+S'No match'
+p107
+tp108
+a(S'xyzabc>2'
+p109
+S'No match'
+p110
+tp111
+aaa(lp112
+S'x\\dy\\Dz'
+p113
+ag3
+a(lp114
+(S'x9yzz'
+p115
+S' 0: x9yzz'
+p116
+tp117
+a(S'x0y+z'
+p118
+S' 0: x0y+z'
+p119
+tp120
+a(S'*** Failers'
+p121
+S'No match'
+p122
+tp123
+a(S'xyz'
+p124
+S'No match'
+p125
+tp126
+a(S'xxy0z'
+p127
+S'No match'
+p128
+tp129
+aaa(lp130
+S'x\\sy\\Sz'
+p131
+ag3
+a(lp132
+(S'x yzz'
+p133
+S' 0: x yzz'
+p134
+tp135
+a(S'x y+z'
+p136
+S' 0: x y+z'
+p137
+tp138
+a(S'*** Failers'
+p139
+S'No match'
+p140
+tp141
+a(S'xyz'
+p142
+S'No match'
+p143
+tp144
+a(S'xxyyz'
+p145
+S'No match'
+p146
+tp147
+aaa(lp148
+S'x\\wy\\Wz'
+p149
+ag3
+a(lp150
+(S'xxy+z'
+p151
+S' 0: xxy+z'
+p152
+tp153
+a(S'*** Failers'
+p154
+S'No match'
+p155
+tp156
+a(S'xxy0z'
+p157
+S'No match'
+p158
+tp159
+a(S'x+y+z'
+p160
+S'No match'
+p161
+tp162
+aaa(lp163
+S'x.y'
+p164
+ag3
+a(lp165
+(S'x+y'
+p166
+S' 0: x+y'
+p167
+tp168
+a(S'x-y'
+p169
+S' 0: x-y'
+p170
+tp171
+a(S'*** Failers'
+p172
+S'No match'
+p173
+tp174
+a(S'x\ny'
+p175
+S'No match'
+p176
+tp177
+aaa(lp178
+S'a\\d\\z'
+p179
+ag3
+a(lp180
+(S'ba0'
+p181
+S' 0: a0'
+p182
+tp183
+a(S'*** Failers'
+p184
+S'No match'
+p185
+tp186
+a(S'ba0\n'
+p187
+S'No match'
+p188
+tp189
+a(S'ba0\ncd'
+p190
+S'No match'
+p191
+tp192
+aaa(lp193
+S'a\\d\\Z'
+p194
+ag3
+a(lp195
+(S'ba0'
+p196
+S' 0: a0'
+p197
+tp198
+a(S'ba0\n'
+p199
+S' 0: a0'
+p200
+tp201
+a(S'*** Failers'
+p202
+S'No match'
+p203
+tp204
+a(S'ba0\ncd'
+p205
+S'No match'
+p206
+tp207
+aaa(lp208
+S'a\\d$'
+p209
+ag3
+a(lp210
+(S'ba0'
+p211
+S' 0: a0'
+p212
+tp213
+a(S'ba0\n'
+p214
+S' 0: a0'
+p215
+tp216
+a(S'*** Failers'
+p217
+S'No match'
+p218
+tp219
+a(S'ba0\ncd'
+p220
+S'No match'
+p221
+tp222
+aaa(lp223
+S'[^a]'
+p224
+ag3
+a(lp225
+(S'abcd'
+p226
+S' 0: b'
+p227
+tp228
+aaa(lp229
+S'ab?\\w'
+p230
+ag3
+a(lp231
+(S'abz'
+p232
+S' 0: abz'
+p233
+tp234
+a(S'abbz'
+p235
+S' 0: abb'
+p236
+tp237
+a(S'azz'
+p238
+S' 0: az'
+p239
+tp240
+aaa(lp241
+S'x{0,3}yz'
+p242
+ag3
+a(lp243
+(S'ayzq'
+p244
+S' 0: yz'
+p245
+tp246
+a(S'axyzq'
+p247
+S' 0: xyz'
+p248
+tp249
+a(S'axxyz'
+p250
+S' 0: xxyz'
+p251
+tp252
+a(S'axxxyzq'
+p253
+S' 0: xxxyz'
+p254
+tp255
+a(S'axxxxyzq'
+p256
+S' 0: xxxyz'
+p257
+tp258
+a(S'*** Failers'
+p259
+S'No match'
+p260
+tp261
+a(S'ax'
+p262
+S'No match'
+p263
+tp264
+a(S'axx'
+p265
+S'No match'
+p266
+tp267
+aaa(lp268
+S'x{3}yz'
+p269
+ag3
+a(lp270
+(S'axxxyzq'
+p271
+S' 0: xxxyz'
+p272
+tp273
+a(S'axxxxyzq'
+p274
+S' 0: xxxyz'
+p275
+tp276
+a(S'*** Failers'
+p277
+S'No match'
+p278
+tp279
+a(S'ax'
+p280
+S'No match'
+p281
+tp282
+a(S'axx'
+p283
+S'No match'
+p284
+tp285
+a(S'ayzq'
+p286
+S'No match'
+p287
+tp288
+a(S'axyzq'
+p289
+S'No match'
+p290
+tp291
+a(S'axxyz'
+p292
+S'No match'
+p293
+tp294
+aaa(lp295
+S'x{2,3}yz'
+p296
+ag3
+a(lp297
+(S'axxyz'
+p298
+S' 0: xxyz'
+p299
+tp300
+a(S'axxxyzq'
+p301
+S' 0: xxxyz'
+p302
+tp303
+a(S'axxxxyzq'
+p304
+S' 0: xxxyz'
+p305
+tp306
+a(S'*** Failers'
+p307
+S'No match'
+p308
+tp309
+a(S'ax'
+p310
+S'No match'
+p311
+tp312
+a(S'axx'
+p313
+S'No match'
+p314
+tp315
+a(S'ayzq'
+p316
+S'No match'
+p317
+tp318
+a(S'axyzq'
+p319
+S'No match'
+p320
+tp321
+aaa(lp322
+S'[^a]+'
+p323
+ag3
+a(lp324
+(S'bac'
+p325
+S' 0: b'
+p326
+tp327
+a(S'bcdefax'
+p328
+S' 0: bcdef'
+p329
+tp330
+a(S'*** Failers'
+p331
+S' 0: *** F'
+p332
+tp333
+a(S'aaaaa'
+p334
+S'No match'
+p335
+tp336
+aaa(lp337
+S'[^a]*'
+p338
+ag3
+a(lp339
+(S'bac'
+p340
+S' 0: b'
+p341
+tp342
+a(S'bcdefax'
+p343
+S' 0: bcdef'
+p344
+tp345
+a(S'*** Failers'
+p346
+S' 0: *** F'
+p347
+tp348
+a(S'aaaaa'
+p349
+S' 0: '
+p350
+tp351
+aaa(lp352
+S'[^a]{3,5}'
+p353
+ag3
+a(lp354
+(S'xyz'
+p355
+S' 0: xyz'
+p356
+tp357
+a(S'awxyza'
+p358
+S' 0: wxyz'
+p359
+tp360
+a(S'abcdefa'
+p361
+S' 0: bcdef'
+p362
+tp363
+a(S'abcdefghijk'
+p364
+S' 0: bcdef'
+p365
+tp366
+a(S'*** Failers'
+p367
+S' 0: *** F'
+p368
+tp369
+a(S'axya'
+p370
+S'No match'
+p371
+tp372
+a(S'axa'
+p373
+S'No match'
+p374
+tp375
+a(S'aaaaa'
+p376
+S'No match'
+p377
+tp378
+aaa(lp379
+S'\\d*'
+p380
+ag3
+a(lp381
+(S'1234b567'
+p382
+S' 0: 1234'
+p383
+tp384
+a(S'xyz'
+p385
+S' 0: '
+p386
+tp387
+aaa(lp388
+S'\\D*'
+p389
+ag3
+a(lp390
+(S'a1234b567'
+p391
+S' 0: a'
+p392
+tp393
+a(S'xyz'
+p394
+S' 0: xyz'
+p395
+tp396
+aaa(lp397
+S'\\d+'
+p398
+ag3
+a(lp399
+(S'ab1234c56'
+p400
+S' 0: 1234'
+p401
+tp402
+a(S'*** Failers'
+p403
+S'No match'
+p404
+tp405
+a(S'xyz'
+p406
+S'No match'
+p407
+tp408
+aaa(lp409
+S'\\D+'
+p410
+ag3
+a(lp411
+(S'ab123c56'
+p412
+S' 0: ab'
+p413
+tp414
+a(S'*** Failers'
+p415
+S' 0: *** Failers'
+p416
+tp417
+a(S'789'
+p418
+S'No match'
+p419
+tp420
+aaa(lp421
+S'\\d?A'
+p422
+ag3
+a(lp423
+(S'045ABC'
+p424
+S' 0: 5A'
+p425
+tp426
+a(S'ABC'
+p427
+S' 0: A'
+p428
+tp429
+a(S'*** Failers'
+p430
+S'No match'
+p431
+tp432
+a(S'XYZ'
+p433
+S'No match'
+p434
+tp435
+aaa(lp436
+S'\\D?A'
+p437
+ag3
+a(lp438
+(S'ABC'
+p439
+S' 0: A'
+p440
+tp441
+a(S'BAC'
+p442
+S' 0: BA'
+p443
+tp444
+a(S'9ABC'
+p445
+S' 0: A'
+p446
+tp447
+a(S'*** Failers'
+p448
+S'No match'
+p449
+tp450
+aaa(lp451
+S'a+'
+p452
+ag3
+a(lp453
+(S'aaaa'
+p454
+S' 0: aaaa'
+p455
+tp456
+aaa(lp457
+S'^.*xyz'
+p458
+ag3
+a(lp459
+(S'xyz'
+p460
+S' 0: xyz'
+p461
+tp462
+a(S'ggggggggxyz'
+p463
+S' 0: ggggggggxyz'
+p464
+tp465
+aaa(lp466
+S'^.+xyz'
+p467
+ag3
+a(lp468
+(S'abcdxyz'
+p469
+S' 0: abcdxyz'
+p470
+tp471
+a(S'axyz'
+p472
+S' 0: axyz'
+p473
+tp474
+a(S'*** Failers'
+p475
+S'No match'
+p476
+tp477
+a(S'xyz'
+p478
+S'No match'
+p479
+tp480
+aaa(lp481
+S'^.?xyz'
+p482
+ag3
+a(lp483
+(S'xyz'
+p484
+S' 0: xyz'
+p485
+tp486
+a(S'cxyz'
+p487
+S' 0: cxyz'
+p488
+tp489
+aaa(lp490
+S'^\\d{2,3}X'
+p491
+ag3
+a(lp492
+(S'12X'
+p493
+S' 0: 12X'
+p494
+tp495
+a(S'123X'
+p496
+S' 0: 123X'
+p497
+tp498
+a(S'*** Failers'
+p499
+S'No match'
+p500
+tp501
+a(S'X'
+p502
+S'No match'
+p503
+tp504
+a(S'1X'
+p505
+S'No match'
+p506
+tp507
+a(S'1234X'
+p508
+S'No match'
+p509
+tp510
+aaa(lp511
+S'^[abcd]\\d'
+p512
+ag3
+a(lp513
+(S'a45'
+p514
+S' 0: a4'
+p515
+tp516
+a(S'b93'
+p517
+S' 0: b9'
+p518
+tp519
+a(S'c99z'
+p520
+S' 0: c9'
+p521
+tp522
+a(S'd04'
+p523
+S' 0: d0'
+p524
+tp525
+a(S'*** Failers'
+p526
+S'No match'
+p527
+tp528
+a(S'e45'
+p529
+S'No match'
+p530
+tp531
+a(S'abcd'
+p532
+S'No match'
+p533
+tp534
+a(S'abcd1234'
+p535
+S'No match'
+p536
+tp537
+a(S'1234'
+p538
+S'No match'
+p539
+tp540
+aaa(lp541
+S'^[abcd]*\\d'
+p542
+ag3
+a(lp543
+(S'a45'
+p544
+S' 0: a4'
+p545
+tp546
+a(S'b93'
+p547
+S' 0: b9'
+p548
+tp549
+a(S'c99z'
+p550
+S' 0: c9'
+p551
+tp552
+a(S'd04'
+p553
+S' 0: d0'
+p554
+tp555
+a(S'abcd1234'
+p556
+S' 0: abcd1'
+p557
+tp558
+a(S'1234'
+p559
+S' 0: 1'
+p560
+tp561
+a(S'*** Failers'
+p562
+S'No match'
+p563
+tp564
+a(S'e45'
+p565
+S'No match'
+p566
+tp567
+a(S'abcd'
+p568
+S'No match'
+p569
+tp570
+aaa(lp571
+S'^[abcd]+\\d'
+p572
+ag3
+a(lp573
+(S'a45'
+p574
+S' 0: a4'
+p575
+tp576
+a(S'b93'
+p577
+S' 0: b9'
+p578
+tp579
+a(S'c99z'
+p580
+S' 0: c9'
+p581
+tp582
+a(S'd04'
+p583
+S' 0: d0'
+p584
+tp585
+a(S'abcd1234'
+p586
+S' 0: abcd1'
+p587
+tp588
+a(S'*** Failers'
+p589
+S'No match'
+p590
+tp591
+a(S'1234'
+p592
+S'No match'
+p593
+tp594
+a(S'e45'
+p595
+S'No match'
+p596
+tp597
+a(S'abcd'
+p598
+S'No match'
+p599
+tp600
+aaa(lp601
+S'^a+X'
+p602
+ag3
+a(lp603
+(S'aX'
+p604
+S' 0: aX'
+p605
+tp606
+a(S'aaX'
+p607
+S' 0: aaX'
+p608
+tp609
+aaa(lp610
+S'^[abcd]?\\d'
+p611
+ag3
+a(lp612
+(S'a45'
+p613
+S' 0: a4'
+p614
+tp615
+a(S'b93'
+p616
+S' 0: b9'
+p617
+tp618
+a(S'c99z'
+p619
+S' 0: c9'
+p620
+tp621
+a(S'd04'
+p622
+S' 0: d0'
+p623
+tp624
+a(S'1234'
+p625
+S' 0: 1'
+p626
+tp627
+a(S'*** Failers'
+p628
+S'No match'
+p629
+tp630
+a(S'abcd1234'
+p631
+S'No match'
+p632
+tp633
+a(S'e45'
+p634
+S'No match'
+p635
+tp636
+aaa(lp637
+S'^[abcd]{2,3}\\d'
+p638
+ag3
+a(lp639
+(S'ab45'
+p640
+S' 0: ab4'
+p641
+tp642
+a(S'bcd93'
+p643
+S' 0: bcd9'
+p644
+tp645
+a(S'*** Failers'
+p646
+S'No match'
+p647
+tp648
+a(S'1234'
+p649
+S'No match'
+p650
+tp651
+a(S'a36'
+p652
+S'No match'
+p653
+tp654
+a(S'abcd1234'
+p655
+S'No match'
+p656
+tp657
+a(S'ee45'
+p658
+S'No match'
+p659
+tp660
+aaa(lp661
+S'^(abc)*\\d'
+p662
+ag3
+a(lp663
+(S'abc45'
+p664
+S' 0: abc4'
+p665
+tp666
+a(S'abcabcabc45'
+p667
+S' 0: abcabcabc4'
+p668
+tp669
+a(S'42xyz'
+p670
+S' 0: 4'
+p671
+tp672
+a(S'*** Failers'
+p673
+S'No match'
+p674
+tp675
+aaa(lp676
+S'^(abc)+\\d'
+p677
+ag3
+a(lp678
+(S'abc45'
+p679
+S' 0: abc4'
+p680
+tp681
+a(S'abcabcabc45'
+p682
+S' 0: abcabcabc4'
+p683
+tp684
+a(S'*** Failers'
+p685
+S'No match'
+p686
+tp687
+a(S'42xyz'
+p688
+S'No match'
+p689
+tp690
+aaa(lp691
+S'^(abc)?\\d'
+p692
+ag3
+a(lp693
+(S'abc45'
+p694
+S' 0: abc4'
+p695
+tp696
+a(S'42xyz'
+p697
+S' 0: 4'
+p698
+tp699
+a(S'*** Failers'
+p700
+S'No match'
+p701
+tp702
+a(S'abcabcabc45'
+p703
+S'No match'
+p704
+tp705
+aaa(lp706
+S'^(abc){2,3}\\d'
+p707
+ag3
+a(lp708
+(S'abcabc45'
+p709
+S' 0: abcabc4'
+p710
+tp711
+a(S'abcabcabc45'
+p712
+S' 0: abcabcabc4'
+p713
+tp714
+a(S'*** Failers'
+p715
+S'No match'
+p716
+tp717
+a(S'abcabcabcabc45'
+p718
+S'No match'
+p719
+tp720
+a(S'abc45'
+p721
+S'No match'
+p722
+tp723
+a(S'42xyz'
+p724
+S'No match'
+p725
+tp726
+aaa(lp727
+S'^(a*\\w|ab)=(a*\\w|ab)'
+p728
+ag3
+a(lp729
+(S'ab=ab'
+p730
+S' 0: ab=ab'
+p731
+tp732
+aaa(lp733
+S'^abc'
+p734
+ag3
+a(lp735
+(S'abcdef'
+p736
+S' 0: abc'
+p737
+tp738
+a(S'*** Failers'
+p739
+S'No match'
+p740
+tp741
+a(S'abcdefB'
+p742
+S'No match'
+p743
+tp744
+aaa(lp745
+S'^(a*|xyz)'
+p746
+ag3
+a(lp747
+(S'bcd'
+p748
+S' 0: '
+p749
+tp750
+a(S'aaabcd'
+p751
+S' 0: aaa'
+p752
+tp753
+a(S'xyz'
+p754
+S' 0: xyz'
+p755
+tp756
+a(S'xyzN'
+p757
+S' 0: xyz'
+p758
+tp759
+a(S'*** Failers'
+p760
+S' 0: '
+p761
+tp762
+a(S'bcdN'
+p763
+S'No match'
+p764
+tp765
+aaa(lp766
+S'xyz$'
+p767
+ag3
+a(lp768
+(S'xyz'
+p769
+S' 0: xyz'
+p770
+tp771
+a(S'xyz\n'
+p772
+S' 0: xyz'
+p773
+tp774
+a(S'*** Failers'
+p775
+S'No match'
+p776
+tp777
+a(S'xyzZ'
+p778
+S'No match'
+p779
+tp780
+a(S'xyz\nZ'
+p781
+S'No match'
+p782
+tp783
+aaa(lp784
+S'\\Gabc'
+p785
+ag3
+a(lp786
+(S'abcdef'
+p787
+S' 0: abc'
+p788
+tp789
+a(S'defabcxyz>3'
+p790
+S' 0: abc'
+p791
+tp792
+a(S'*** Failers'
+p793
+S'No match'
+p794
+tp795
+a(S'defabcxyz'
+p796
+S'No match'
+p797
+tp798
+aaa(lp799
+S'^abcdef'
+p800
+ag3
+a(lp801
+(S'abP'
+p802
+S' 0: abcdef'
+p803
+tp804
+a(S'*** Failers'
+p805
+S'No match'
+p806
+tp807
+a(S'abxP'
+p808
+S'No match'
+p809
+tp810
+aaa(lp811
+S'^a{2,4}\\d+z'
+p812
+ag3
+a(lp813
+(S'aP'
+p814
+S' 0: aa0z'
+p815
+tp816
+a(S'aaaa4444444444444zP'
+p817
+S' 0: aaaa4444444444444z'
+p818
+tp819
+a(S'*** Failers'
+p820
+S'No match'
+p821
+tp822
+a(S'azP'
+p823
+S'No match'
+p824
+tp825
+a(S'aaaaaP'
+p826
+S'No match'
+p827
+tp828
+a(S'a56P'
+p829
+S'No match'
+p830
+tp831
+aaa(lp832
+S'^abcdef'
+p833
+ag3
+a(lp834
+(S'abcP'
+p835
+S' 0: def'
+p836
+tp837
+aaa(lp838
+S'(ab*(cd|ef))+X'
+p839
+ag3
+a(lp840
+(S'adfadadaklhlkalkajhlkjahdfasdfasdfladsfjkjPZ'
+p841
+S'No match'
+p842
+tp843
+a(S'lkjhlkjhlkjhlkjhabbbbbbcdaefabbbbbbbefaPBZ'
+p844
+S' 0: bbbbbbbbbbbbcdX'
+p845
+tp846
+aaa(lp847
+S'the quick brown fox'
+p848
+ag3
+a(lp849
+(S'the quick brown fox'
+p850
+S' 0: the quick brown fox'
+p851
+tp852
+a(S'The quick brown FOX'
+p853
+S'No match'
+p854
+tp855
+a(S'What do you know about the quick brown fox?'
+p856
+S' 0: the quick brown fox'
+p857
+tp858
+a(S'What do you know about THE QUICK BROWN FOX?'
+p859
+S'No match'
+p860
+tp861
+aaa(lp862
+S'abcd\\t\\n\\r\\f\\a\\e\\071\\x3b\\$\\\\\\?caxyz'
+p863
+ag3
+a(lp864
+(S'abcd\t\n\r\x0c\x07\x1b9;$\\?caxyz'
+p865
+S' 0: abcd\t\n\r\x0c\x07\x1b9;$\\?caxyz'
+p866
+tp867
+aaa(lp868
+S'a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz'
+p869
+ag3
+a(lp870
+(S'abxyzpqrrrabbxyyyypqAzz'
+p871
+S' 0: abxyzpqrrrabbxyyyypqAzz'
+p872
+tp873
+a(S'abxyzpqrrrabbxyyyypqAzz'
+p874
+S' 0: abxyzpqrrrabbxyyyypqAzz'
+p875
+tp876
+a(S'aabxyzpqrrrabbxyyyypqAzz'
+p877
+S' 0: aabxyzpqrrrabbxyyyypqAzz'
+p878
+tp879
+a(S'aaabxyzpqrrrabbxyyyypqAzz'
+p880
+S' 0: aaabxyzpqrrrabbxyyyypqAzz'
+p881
+tp882
+a(S'aaaabxyzpqrrrabbxyyyypqAzz'
+p883
+S' 0: aaaabxyzpqrrrabbxyyyypqAzz'
+p884
+tp885
+a(S'abcxyzpqrrrabbxyyyypqAzz'
+p886
+S' 0: abcxyzpqrrrabbxyyyypqAzz'
+p887
+tp888
+a(S'aabcxyzpqrrrabbxyyyypqAzz'
+p889
+S' 0: aabcxyzpqrrrabbxyyyypqAzz'
+p890
+tp891
+a(S'aaabcxyzpqrrrabbxyyyypAzz'
+p892
+S' 0: aaabcxyzpqrrrabbxyyyypAzz'
+p893
+tp894
+a(S'aaabcxyzpqrrrabbxyyyypqAzz'
+p895
+S' 0: aaabcxyzpqrrrabbxyyyypqAzz'
+p896
+tp897
+a(S'aaabcxyzpqrrrabbxyyyypqqAzz'
+p898
+S' 0: aaabcxyzpqrrrabbxyyyypqqAzz'
+p899
+tp900
+a(S'aaabcxyzpqrrrabbxyyyypqqqAzz'
+p901
+S' 0: aaabcxyzpqrrrabbxyyyypqqqAzz'
+p902
+tp903
+a(S'aaabcxyzpqrrrabbxyyyypqqqqAzz'
+p904
+S' 0: aaabcxyzpqrrrabbxyyyypqqqqAzz'
+p905
+tp906
+a(S'aaabcxyzpqrrrabbxyyyypqqqqqAzz'
+p907
+S' 0: aaabcxyzpqrrrabbxyyyypqqqqqAzz'
+p908
+tp909
+a(S'aaabcxyzpqrrrabbxyyyypqqqqqqAzz'
+p910
+S' 0: aaabcxyzpqrrrabbxyyyypqqqqqqAzz'
+p911
+tp912
+a(S'aaaabcxyzpqrrrabbxyyyypqAzz'
+p913
+S' 0: aaaabcxyzpqrrrabbxyyyypqAzz'
+p914
+tp915
+a(S'abxyzzpqrrrabbxyyyypqAzz'
+p916
+S' 0: abxyzzpqrrrabbxyyyypqAzz'
+p917
+tp918
+a(S'aabxyzzzpqrrrabbxyyyypqAzz'
+p919
+S' 0: aabxyzzzpqrrrabbxyyyypqAzz'
+p920
+tp921
+a(S'aaabxyzzzzpqrrrabbxyyyypqAzz'
+p922
+S' 0: aaabxyzzzzpqrrrabbxyyyypqAzz'
+p923
+tp924
+a(S'aaaabxyzzzzpqrrrabbxyyyypqAzz'
+p925
+S' 0: aaaabxyzzzzpqrrrabbxyyyypqAzz'
+p926
+tp927
+a(S'abcxyzzpqrrrabbxyyyypqAzz'
+p928
+S' 0: abcxyzzpqrrrabbxyyyypqAzz'
+p929
+tp930
+a(S'aabcxyzzzpqrrrabbxyyyypqAzz'
+p931
+S' 0: aabcxyzzzpqrrrabbxyyyypqAzz'
+p932
+tp933
+a(S'aaabcxyzzzzpqrrrabbxyyyypqAzz'
+p934
+S' 0: aaabcxyzzzzpqrrrabbxyyyypqAzz'
+p935
+tp936
+a(S'aaaabcxyzzzzpqrrrabbxyyyypqAzz'
+p937
+S' 0: aaaabcxyzzzzpqrrrabbxyyyypqAzz'
+p938
+tp939
+a(S'aaaabcxyzzzzpqrrrabbbxyyyypqAzz'
+p940
+S' 0: aaaabcxyzzzzpqrrrabbbxyyyypqAzz'
+p941
+tp942
+a(S'aaaabcxyzzzzpqrrrabbbxyyyyypqAzz'
+p943
+S' 0: aaaabcxyzzzzpqrrrabbbxyyyyypqAzz'
+p944
+tp945
+a(S'aaabcxyzpqrrrabbxyyyypABzz'
+p946
+S' 0: aaabcxyzpqrrrabbxyyyypABzz'
+p947
+tp948
+a(S'aaabcxyzpqrrrabbxyyyypABBzz'
+p949
+S' 0: aaabcxyzpqrrrabbxyyyypABBzz'
+p950
+tp951
+a(S'>>>aaabxyzpqrrrabbxyyyypqAzz'
+p952
+S' 0: aaabxyzpqrrrabbxyyyypqAzz'
+p953
+tp954
+a(S'>aaaabxyzpqrrrabbxyyyypqAzz'
+p955
+S' 0: aaaabxyzpqrrrabbxyyyypqAzz'
+p956
+tp957
+a(S'>>>>abcxyzpqrrrabbxyyyypqAzz'
+p958
+S' 0: abcxyzpqrrrabbxyyyypqAzz'
+p959
+tp960
+a(S'*** Failers'
+p961
+S'No match'
+p962
+tp963
+a(S'abxyzpqrrabbxyyyypqAzz'
+p964
+S'No match'
+p965
+tp966
+a(S'abxyzpqrrrrabbxyyyypqAzz'
+p967
+S'No match'
+p968
+tp969
+a(S'abxyzpqrrrabxyyyypqAzz'
+p970
+S'No match'
+p971
+tp972
+a(S'aaaabcxyzzzzpqrrrabbbxyyyyyypqAzz'
+p973
+S'No match'
+p974
+tp975
+a(S'aaaabcxyzzzzpqrrrabbbxyyypqAzz'
+p976
+S'No match'
+p977
+tp978
+a(S'aaabcxyzpqrrrabbxyyyypqqqqqqqAzz'
+p979
+S'No match'
+p980
+tp981
+aaa(lp982
+S'^(abc){1,2}zz'
+p983
+ag3
+a(lp984
+(S'abczz'
+p985
+S' 0: abczz'
+p986
+tp987
+a(S'abcabczz'
+p988
+S' 0: abcabczz'
+p989
+tp990
+a(S'*** Failers'
+p991
+S'No match'
+p992
+tp993
+a(S'zz'
+p994
+S'No match'
+p995
+tp996
+a(S'abcabcabczz'
+p997
+S'No match'
+p998
+tp999
+a(S'>>abczz'
+p1000
+S'No match'
+p1001
+tp1002
+aaa(lp1003
+S'^(b+|a){1,2}c'
+p1004
+ag3
+a(lp1005
+(S'bc'
+p1006
+S' 0: bc'
+p1007
+tp1008
+a(S'bbc'
+p1009
+S' 0: bbc'
+p1010
+tp1011
+a(S'bbbc'
+p1012
+S' 0: bbbc'
+p1013
+tp1014
+a(S'bac'
+p1015
+S' 0: bac'
+p1016
+tp1017
+a(S'bbac'
+p1018
+S' 0: bbac'
+p1019
+tp1020
+a(S'aac'
+p1021
+S' 0: aac'
+p1022
+tp1023
+a(S'abbbbbbbbbbbc'
+p1024
+S' 0: abbbbbbbbbbbc'
+p1025
+tp1026
+a(S'bbbbbbbbbbbac'
+p1027
+S' 0: bbbbbbbbbbbac'
+p1028
+tp1029
+a(S'*** Failers'
+p1030
+S'No match'
+p1031
+tp1032
+a(S'aaac'
+p1033
+S'No match'
+p1034
+tp1035
+a(S'abbbbbbbbbbbac'
+p1036
+S'No match'
+p1037
+tp1038
+aaa(lp1039
+S'^\\ca\\cA\\c[\\c{\\c:'
+p1040
+ag3
+a(lp1041
+(S'\x01\x01\x1b;z'
+p1042
+S' 0: \x01\x01\x1b;z'
+p1043
+tp1044
+aaa(lp1045
+S'^[ab\\]cde]'
+p1046
+ag3
+a(lp1047
+(S'athing'
+p1048
+S' 0: a'
+p1049
+tp1050
+a(S'bthing'
+p1051
+S' 0: b'
+p1052
+tp1053
+a(S']thing'
+p1054
+S' 0: ]'
+p1055
+tp1056
+a(S'cthing'
+p1057
+S' 0: c'
+p1058
+tp1059
+a(S'dthing'
+p1060
+S' 0: d'
+p1061
+tp1062
+a(S'ething'
+p1063
+S' 0: e'
+p1064
+tp1065
+a(S'*** Failers'
+p1066
+S'No match'
+p1067
+tp1068
+a(S'fthing'
+p1069
+S'No match'
+p1070
+tp1071
+a(S'[thing'
+p1072
+S'No match'
+p1073
+tp1074
+a(S'\\thing'
+p1075
+S'No match'
+p1076
+tp1077
+aaa(lp1078
+S'^[]cde]'
+p1079
+ag3
+a(lp1080
+(S']thing'
+p1081
+S' 0: ]'
+p1082
+tp1083
+a(S'cthing'
+p1084
+S' 0: c'
+p1085
+tp1086
+a(S'dthing'
+p1087
+S' 0: d'
+p1088
+tp1089
+a(S'ething'
+p1090
+S' 0: e'
+p1091
+tp1092
+a(S'*** Failers'
+p1093
+S'No match'
+p1094
+tp1095
+a(S'athing'
+p1096
+S'No match'
+p1097
+tp1098
+a(S'fthing'
+p1099
+S'No match'
+p1100
+tp1101
+aaa(lp1102
+S'^[^ab\\]cde]'
+p1103
+ag3
+a(lp1104
+(S'fthing'
+p1105
+S' 0: f'
+p1106
+tp1107
+a(S'[thing'
+p1108
+S' 0: ['
+p1109
+tp1110
+a(S'\\thing'
+p1111
+S' 0: \\'
+p1112
+tp1113
+a(S'*** Failers'
+p1114
+S' 0: *'
+p1115
+tp1116
+a(S'athing'
+p1117
+S'No match'
+p1118
+tp1119
+a(S'bthing'
+p1120
+S'No match'
+p1121
+tp1122
+a(S']thing'
+p1123
+S'No match'
+p1124
+tp1125
+a(S'cthing'
+p1126
+S'No match'
+p1127
+tp1128
+a(S'dthing'
+p1129
+S'No match'
+p1130
+tp1131
+a(S'ething'
+p1132
+S'No match'
+p1133
+tp1134
+aaa(lp1135
+S'^[^]cde]'
+p1136
+ag3
+a(lp1137
+(S'athing'
+p1138
+S' 0: a'
+p1139
+tp1140
+a(S'fthing'
+p1141
+S' 0: f'
+p1142
+tp1143
+a(S'*** Failers'
+p1144
+S' 0: *'
+p1145
+tp1146
+a(S']thing'
+p1147
+S'No match'
+p1148
+tp1149
+a(S'cthing'
+p1150
+S'No match'
+p1151
+tp1152
+a(S'dthing'
+p1153
+S'No match'
+p1154
+tp1155
+a(S'ething'
+p1156
+S'No match'
+p1157
+tp1158
+aaa(lp1159
+S'^\\\x81'
+p1160
+ag3
+a(lp1161
+(S'\x81'
+p1162
+S' 0: \x81'
+p1163
+tp1164
+aaa(lp1165
+S'^\xff'
+p1166
+ag3
+a(lp1167
+(S'\xff'
+p1168
+S' 0: \xff'
+p1169
+tp1170
+aaa(lp1171
+S'^[0-9]+$'
+p1172
+ag3
+a(lp1173
+(S'0'
+p1174
+S' 0: 0'
+p1175
+tp1176
+a(S'1'
+p1177
+S' 0: 1'
+p1178
+tp1179
+a(S'2'
+p1180
+S' 0: 2'
+p1181
+tp1182
+a(S'3'
+p1183
+S' 0: 3'
+p1184
+tp1185
+a(S'4'
+p1186
+S' 0: 4'
+p1187
+tp1188
+a(S'5'
+p1189
+S' 0: 5'
+p1190
+tp1191
+a(S'6'
+p1192
+S' 0: 6'
+p1193
+tp1194
+a(S'7'
+p1195
+S' 0: 7'
+p1196
+tp1197
+a(S'8'
+p1198
+S' 0: 8'
+p1199
+tp1200
+a(S'9'
+p1201
+S' 0: 9'
+p1202
+tp1203
+a(S'10'
+p1204
+S' 0: 10'
+p1205
+tp1206
+a(S'100'
+p1207
+S' 0: 100'
+p1208
+tp1209
+a(S'*** Failers'
+p1210
+S'No match'
+p1211
+tp1212
+a(S'abc'
+p1213
+S'No match'
+p1214
+tp1215
+aaa(lp1216
+S'^.*nter'
+p1217
+ag3
+a(lp1218
+(S'enter'
+p1219
+S' 0: enter'
+p1220
+tp1221
+a(S'inter'
+p1222
+S' 0: inter'
+p1223
+tp1224
+a(S'uponter'
+p1225
+S' 0: uponter'
+p1226
+tp1227
+aaa(lp1228
+S'^xxx[0-9]+$'
+p1229
+ag3
+a(lp1230
+(S'xxx0'
+p1231
+S' 0: xxx0'
+p1232
+tp1233
+a(S'xxx1234'
+p1234
+S' 0: xxx1234'
+p1235
+tp1236
+a(S'*** Failers'
+p1237
+S'No match'
+p1238
+tp1239
+a(S'xxx'
+p1240
+S'No match'
+p1241
+tp1242
+aaa(lp1243
+S'^.+[0-9][0-9][0-9]$'
+p1244
+ag3
+a(lp1245
+(S'x123'
+p1246
+S' 0: x123'
+p1247
+tp1248
+a(S'xx123'
+p1249
+S' 0: xx123'
+p1250
+tp1251
+a(S'123456'
+p1252
+S' 0: 123456'
+p1253
+tp1254
+a(S'*** Failers'
+p1255
+S'No match'
+p1256
+tp1257
+a(S'123'
+p1258
+S'No match'
+p1259
+tp1260
+a(S'x1234'
+p1261
+S' 0: x1234'
+p1262
+tp1263
+aaa(lp1264
+S'^([^!]+)!(.+)=apquxz\\.ixr\\.zzz\\.ac\\.uk$'
+p1265
+ag3
+a(lp1266
+(S'abc!pqr=apquxz.ixr.zzz.ac.uk'
+p1267
+S' 0: abc!pqr=apquxz.ixr.zzz.ac.uk'
+p1268
+tp1269
+a(S'*** Failers'
+p1270
+S'No match'
+p1271
+tp1272
+a(S'!pqr=apquxz.ixr.zzz.ac.uk'
+p1273
+S'No match'
+p1274
+tp1275
+a(S'abc!=apquxz.ixr.zzz.ac.uk'
+p1276
+S'No match'
+p1277
+tp1278
+a(S'abc!pqr=apquxz:ixr.zzz.ac.uk'
+p1279
+S'No match'
+p1280
+tp1281
+a(S'abc!pqr=apquxz.ixr.zzz.ac.ukk'
+p1282
+S'No match'
+p1283
+tp1284
+aaa(lp1285
+S':'
+p1286
+ag3
+a(lp1287
+(S'Well, we need a colon: somewhere'
+p1288
+S' 0: :'
+p1289
+tp1290
+a(S"*** Fail if we don't"
+p1291
+S'No match'
+p1292
+tp1293
+aaa(lp1294
+S'^.*\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$'
+p1295
+ag3
+a(lp1296
+(S'.1.2.3'
+p1297
+S' 0: .1.2.3'
+p1298
+tp1299
+a(S'A.12.123.0'
+p1300
+S' 0: A.12.123.0'
+p1301
+tp1302
+a(S'*** Failers'
+p1303
+S'No match'
+p1304
+tp1305
+a(S'.1.2.3333'
+p1306
+S'No match'
+p1307
+tp1308
+a(S'1.2.3'
+p1309
+S'No match'
+p1310
+tp1311
+a(S'1234.2.3'
+p1312
+S'No match'
+p1313
+tp1314
+aaa(lp1315
+S'^(\\d+)\\s+IN\\s+SOA\\s+(\\S+)\\s+(\\S+)\\s*\\(\\s*$'
+p1316
+ag3
+a(lp1317
+(S'1 IN SOA non-sp1 non-sp2('
+p1318
+S' 0: 1 IN SOA non-sp1 non-sp2('
+p1319
+tp1320
+a(S'1    IN    SOA    non-sp1    non-sp2   ('
+p1321
+S' 0: 1    IN    SOA    non-sp1    non-sp2   ('
+p1322
+tp1323
+a(S'*** Failers'
+p1324
+S'No match'
+p1325
+tp1326
+a(S'1IN SOA non-sp1 non-sp2('
+p1327
+S'No match'
+p1328
+tp1329
+aaa(lp1330
+S'^[a-zA-Z\\d][a-zA-Z\\d\\-]*(\\.[a-zA-Z\\d][a-zA-z\\d\\-]*)*\\.$'
+p1331
+ag3
+a(lp1332
+(S'a.'
+p1333
+S' 0: a.'
+p1334
+tp1335
+a(S'Z.'
+p1336
+S' 0: Z.'
+p1337
+tp1338
+a(S'2.'
+p1339
+S' 0: 2.'
+p1340
+tp1341
+a(S'ab-c.pq-r.'
+p1342
+S' 0: ab-c.pq-r.'
+p1343
+tp1344
+a(S'sxk.zzz.ac.uk.'
+p1345
+S' 0: sxk.zzz.ac.uk.'
+p1346
+tp1347
+a(S'x-.y-.'
+p1348
+S' 0: x-.y-.'
+p1349
+tp1350
+a(S'*** Failers'
+p1351
+S'No match'
+p1352
+tp1353
+a(S'-abc.peq.'
+p1354
+S'No match'
+p1355
+tp1356
+aaa(lp1357
+S'^\\*\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?(\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?)*$'
+p1358
+ag3
+a(lp1359
+(S'*.a'
+p1360
+S' 0: *.a'
+p1361
+tp1362
+a(S'*.b0-a'
+p1363
+S' 0: *.b0-a'
+p1364
+tp1365
+a(S'*.c3-b.c'
+p1366
+S' 0: *.c3-b.c'
+p1367
+tp1368
+a(S'*.c-a.b-c'
+p1369
+S' 0: *.c-a.b-c'
+p1370
+tp1371
+a(S'*** Failers'
+p1372
+S'No match'
+p1373
+tp1374
+a(S'*.0'
+p1375
+S'No match'
+p1376
+tp1377
+a(S'*.a-'
+p1378
+S'No match'
+p1379
+tp1380
+a(S'*.a-b.c-'
+p1381
+S'No match'
+p1382
+tp1383
+a(S'*.c-a.0-c'
+p1384
+S'No match'
+p1385
+tp1386
+aaa(lp1387
+S'^\\".*\\"\\s*(;.*)?$'
+p1388
+ag3
+a(lp1389
+(S'"1234"'
+p1390
+S' 0: "1234"'
+p1391
+tp1392
+a(S'"abcd" ;'
+p1393
+S' 0: "abcd" ;'
+p1394
+tp1395
+a(S'"" ; rhubarb'
+p1396
+S' 0: "" ; rhubarb'
+p1397
+tp1398
+a(S'*** Failers'
+p1399
+S'No match'
+p1400
+tp1401
+a(S'"1234" : things'
+p1402
+S'No match'
+p1403
+tp1404
+aaa(lp1405
+S'^$'
+p1406
+ag3
+a(lp1407
+(g3
+S' 0: '
+p1408
+tp1409
+a(S'*** Failers'
+p1410
+S'No match'
+p1411
+tp1412
+aaa(lp1413
+S'^(a(b(c)))(d(e(f)))(h(i(j)))(k(l(m)))$'
+p1414
+ag3
+a(lp1415
+(S'abcdefhijklm'
+p1416
+S' 0: abcdefhijklm'
+p1417
+tp1418
+aaa(lp1419
+S'^[\\w][\\W][\\s][\\S][\\d][\\D][\\b][\\n][\\c]][\\022]'
+p1420
+ag3
+a(lp1421
+(S'a+ Z0+\x08\n\x1d\x12'
+p1422
+S' 0: a+ Z0+\x08\n\x1d\x12'
+p1423
+tp1424
+aaa(lp1425
+S'^a*\\w'
+p1426
+ag3
+a(lp1427
+(S'z'
+p1428
+S' 0: z'
+p1429
+tp1430
+a(S'az'
+p1431
+S' 0: az'
+p1432
+tp1433
+a(S'aaaz'
+p1434
+S' 0: aaaz'
+p1435
+tp1436
+a(g41
+S' 0: a'
+p1437
+tp1438
+a(S'aa'
+p1439
+S' 0: aa'
+p1440
+tp1441
+a(S'aaaa'
+p1442
+S' 0: aaaa'
+p1443
+tp1444
+a(S'a+'
+p1445
+S' 0: a'
+p1446
+tp1447
+a(S'aa+'
+p1448
+S' 0: aa'
+p1449
+tp1450
+aaa(lp1451
+S'^a+\\w'
+p1452
+ag3
+a(lp1453
+(S'az'
+p1454
+S' 0: az'
+p1455
+tp1456
+a(S'aaaz'
+p1457
+S' 0: aaaz'
+p1458
+tp1459
+a(S'aa'
+p1460
+S' 0: aa'
+p1461
+tp1462
+a(S'aaaa'
+p1463
+S' 0: aaaa'
+p1464
+tp1465
+a(S'aa+'
+p1466
+S' 0: aa'
+p1467
+tp1468
+aaa(lp1469
+S'^\\d{8}\\w{2,}'
+p1470
+ag3
+a(lp1471
+(S'1234567890'
+p1472
+S' 0: 1234567890'
+p1473
+tp1474
+a(S'12345678ab'
+p1475
+S' 0: 12345678ab'
+p1476
+tp1477
+a(S'12345678__'
+p1478
+S' 0: 12345678__'
+p1479
+tp1480
+a(S'*** Failers'
+p1481
+S'No match'
+p1482
+tp1483
+a(S'1234567'
+p1484
+S'No match'
+p1485
+tp1486
+aaa(lp1487
+S'^[aeiou\\d]{4,5}$'
+p1488
+ag3
+a(lp1489
+(S'uoie'
+p1490
+S' 0: uoie'
+p1491
+tp1492
+a(S'1234'
+p1493
+S' 0: 1234'
+p1494
+tp1495
+a(S'12345'
+p1496
+S' 0: 12345'
+p1497
+tp1498
+a(S'aaaaa'
+p1499
+S' 0: aaaaa'
+p1500
+tp1501
+a(S'*** Failers'
+p1502
+S'No match'
+p1503
+tp1504
+a(S'123456'
+p1505
+S'No match'
+p1506
+tp1507
+aaa(lp1508
+S'^From +([^ ]+) +[a-zA-Z][a-zA-Z][a-zA-Z] +[a-zA-Z][a-zA-Z][a-zA-Z] +[0-9]?[0-9] +[0-9][0-9]:[0-9][0-9]'
+p1509
+ag3
+a(lp1510
+(S'From abcd  Mon Sep 01 12:33:02 1997'
+p1511
+S' 0: From abcd  Mon Sep 01 12:33'
+p1512
+tp1513
+aaa(lp1514
+S'^From\\s+\\S+\\s+([a-zA-Z]{3}\\s+){2}\\d{1,2}\\s+\\d\\d:\\d\\d'
+p1515
+ag3
+a(lp1516
+(S'From abcd  Mon Sep 01 12:33:02 1997'
+p1517
+S' 0: From abcd  Mon Sep 01 12:33'
+p1518
+tp1519
+a(S'From abcd  Mon Sep  1 12:33:02 1997'
+p1520
+S' 0: From abcd  Mon Sep  1 12:33'
+p1521
+tp1522
+a(S'*** Failers'
+p1523
+S'No match'
+p1524
+tp1525
+a(S'From abcd  Sep 01 12:33:02 1997'
+p1526
+S'No match'
+p1527
+tp1528
+aaa(lp1529
+S'^[ab]{1,3}(ab*|b)'
+p1530
+ag3
+a(lp1531
+(S'aabbbbb'
+p1532
+S' 0: aabbbbb'
+p1533
+tp1534
+aaa(lp1535
+S'abc\\0def\\00pqr\\000xyz\\0000AB'
+p1536
+ag3
+a(lp1537
+(S'abc\x00def\x00pqr\x00xyz\x000AB'
+p1538
+S' 0: abc\x00def\x00pqr\x00xyz\x000AB'
+p1539
+tp1540
+a(S'abc456 abc\x00def\x00pqr\x00xyz\x000ABCDE'
+p1541
+S' 0: abc\x00def\x00pqr\x00xyz\x000AB'
+p1542
+tp1543
+aaa(lp1544
+S'abc\\x0def\\x00pqr\\x000xyz\\x0000AB'
+p1545
+ag3
+a(lp1546
+(S'abc\ref\x00pqr\x000xyz\x0000AB'
+p1547
+S' 0: abc\ref\x00pqr\x000xyz\x0000AB'
+p1548
+tp1549
+a(S'abc456 abc\ref\x00pqr\x000xyz\x0000ABCDE'
+p1550
+S' 0: abc\ref\x00pqr\x000xyz\x0000AB'
+p1551
+tp1552
+aaa(lp1553
+S'^[\\000-\\037]'
+p1554
+ag3
+a(lp1555
+(S'\x00A'
+p1556
+S' 0: \x00'
+p1557
+tp1558
+a(S'\x01B'
+p1559
+S' 0: \x01'
+p1560
+tp1561
+a(S'\x1fC'
+p1562
+S' 0: \x1f'
+p1563
+tp1564
+aaa(lp1565
+S'\\0*'
+p1566
+ag3
+a(lp1567
+(S'\x00\x00\x00\x00'
+p1568
+S' 0: \x00\x00\x00\x00'
+p1569
+tp1570
+aaa(lp1571
+S'A\\x00{2,3}Z'
+p1572
+ag3
+a(lp1573
+(S'The A\x00\x00Z'
+p1574
+S' 0: A\x00\x00Z'
+p1575
+tp1576
+a(S'An A\x00\x00\x00Z'
+p1577
+S' 0: A\x00\x00\x00Z'
+p1578
+tp1579
+a(S'*** Failers'
+p1580
+S'No match'
+p1581
+tp1582
+a(S'A\x00Z'
+p1583
+S'No match'
+p1584
+tp1585
+a(S'A\x00\x00\x00\x00Z'
+p1586
+S'No match'
+p1587
+tp1588
+aaa(lp1589
+S'^\\s'
+p1590
+ag3
+a(lp1591
+(S' abc'
+p1592
+S' 0:  '
+p1593
+tp1594
+a(S'\x0cabc'
+p1595
+S' 0: \x0c'
+p1596
+tp1597
+a(S'\nabc'
+p1598
+S' 0: \n'
+p1599
+tp1600
+a(S'\rabc'
+p1601
+S' 0: \r'
+p1602
+tp1603
+a(S'\tabc'
+p1604
+S' 0: \t'
+p1605
+tp1606
+a(S'*** Failers'
+p1607
+S'No match'
+p1608
+tp1609
+a(S'abc'
+p1610
+S'No match'
+p1611
+tp1612
+aaa(lp1613
+S'ab{1,3}bc'
+p1614
+ag3
+a(lp1615
+(S'abbbbc'
+p1616
+S' 0: abbbbc'
+p1617
+tp1618
+a(S'abbbc'
+p1619
+S' 0: abbbc'
+p1620
+tp1621
+a(S'abbc'
+p1622
+S' 0: abbc'
+p1623
+tp1624
+a(S'*** Failers'
+p1625
+S'No match'
+p1626
+tp1627
+a(S'abc'
+p1628
+S'No match'
+p1629
+tp1630
+a(S'abbbbbc'
+p1631
+S'No match'
+p1632
+tp1633
+aaa(lp1634
+S'([^.]*)\\.([^:]*):[T ]+(.*)'
+p1635
+ag3
+a(lp1636
+(S'track1.title:TBlah blah blah'
+p1637
+S' 0: track1.title:TBlah blah blah'
+p1638
+tp1639
+aaa(lp1640
+S'^[W-c]+$'
+p1641
+ag3
+a(lp1642
+(S'WXY_^abc'
+p1643
+S' 0: WXY_^abc'
+p1644
+tp1645
+a(S'*** Failers'
+p1646
+S'No match'
+p1647
+tp1648
+a(S'wxy'
+p1649
+S'No match'
+p1650
+tp1651
+aaa(lp1652
+S'^abc$'
+p1653
+ag3
+a(lp1654
+(S'abc'
+p1655
+S' 0: abc'
+p1656
+tp1657
+a(S'*** Failers'
+p1658
+S'No match'
+p1659
+tp1660
+a(S'qqq\nabc'
+p1661
+S'No match'
+p1662
+tp1663
+a(S'abc\nzzz'
+p1664
+S'No match'
+p1665
+tp1666
+a(S'qqq\nabc\nzzz'
+p1667
+S'No match'
+p1668
+tp1669
+aaa(lp1670
+S'[-az]+'
+p1671
+ag3
+a(lp1672
+(S'az-'
+p1673
+S' 0: az-'
+p1674
+tp1675
+a(S'*** Failers'
+p1676
+S' 0: a'
+p1677
+tp1678
+a(S'b'
+p1679
+S'No match'
+p1680
+tp1681
+aaa(lp1682
+S'[az-]+'
+p1683
+ag3
+a(lp1684
+(S'za-'
+p1685
+S' 0: za-'
+p1686
+tp1687
+a(S'*** Failers'
+p1688
+S' 0: a'
+p1689
+tp1690
+a(g1679
+S'No match'
+p1691
+tp1692
+aaa(lp1693
+S'[a\\-z]+'
+p1694
+ag3
+a(lp1695
+(S'a-z'
+p1696
+S' 0: a-z'
+p1697
+tp1698
+a(S'*** Failers'
+p1699
+S' 0: a'
+p1700
+tp1701
+a(g1679
+S'No match'
+p1702
+tp1703
+aaa(lp1704
+S'[a-z]+'
+p1705
+ag3
+a(lp1706
+(S'abcdxyz'
+p1707
+S' 0: abcdxyz'
+p1708
+tp1709
+aaa(lp1710
+S'[\\d-]+'
+p1711
+ag3
+a(lp1712
+(S'12-34'
+p1713
+S' 0: 12-34'
+p1714
+tp1715
+a(S'*** Failers'
+p1716
+S'No match'
+p1717
+tp1718
+a(S'aaa'
+p1719
+S'No match'
+p1720
+tp1721
+aaa(lp1722
+S'[\\d-z]+'
+p1723
+ag3
+a(lp1724
+(S'12-34z'
+p1725
+S' 0: 12-34z'
+p1726
+tp1727
+a(S'*** Failers'
+p1728
+S'No match'
+p1729
+tp1730
+a(S'aaa'
+p1731
+S'No match'
+p1732
+tp1733
+aaa(lp1734
+S'\\x5c'
+p1735
+ag3
+a(lp1736
+(S'\\'
+p1737
+S' 0: \\'
+p1738
+tp1739
+aaa(lp1740
+S'\\x20Z'
+p1741
+ag3
+a(lp1742
+(S'the Zoo'
+p1743
+S' 0:  Z'
+p1744
+tp1745
+a(S'*** Failers'
+p1746
+S'No match'
+p1747
+tp1748
+a(S'Zulu'
+p1749
+S'No match'
+p1750
+tp1751
+aaa(lp1752
+S'ab{3cd'
+p1753
+ag3
+a(lp1754
+(S'ab{3cd'
+p1755
+S' 0: ab{3cd'
+p1756
+tp1757
+aaa(lp1758
+S'ab{3,cd'
+p1759
+ag3
+a(lp1760
+(S'ab{3,cd'
+p1761
+S' 0: ab{3,cd'
+p1762
+tp1763
+aaa(lp1764
+S'ab{3,4a}cd'
+p1765
+ag3
+a(lp1766
+(S'ab{3,4a}cd'
+p1767
+S' 0: ab{3,4a}cd'
+p1768
+tp1769
+aaa(lp1770
+S'{4,5a}bc'
+p1771
+ag3
+a(lp1772
+(S'{4,5a}bc'
+p1773
+S' 0: {4,5a}bc'
+p1774
+tp1775
+aaa(lp1776
+S'abc$'
+p1777
+ag3
+a(lp1778
+(S'abc'
+p1779
+S' 0: abc'
+p1780
+tp1781
+a(S'abc\n'
+p1782
+S' 0: abc'
+p1783
+tp1784
+a(S'*** Failers'
+p1785
+S'No match'
+p1786
+tp1787
+a(S'abc\ndef'
+p1788
+S'No match'
+p1789
+tp1790
+aaa(lp1791
+S'(abc)\\223'
+p1792
+ag3
+a(lp1793
+(S'abc\x93'
+p1794
+S' 0: abc\x93'
+p1795
+tp1796
+aaa(lp1797
+S'(abc)\\323'
+p1798
+ag3
+a(lp1799
+(S'abc\xd3'
+p1800
+S' 0: abc\xd3'
+p1801
+tp1802
+aaa(lp1803
+S'abc\\81'
+p1804
+ag3
+a(lp1805
+(S'abc\x0081'
+p1806
+S' 0: abc\x0081'
+p1807
+tp1808
+a(S'abc\x0081'
+p1809
+S' 0: abc\x0081'
+p1810
+tp1811
+aaa(lp1812
+S'abc\\91'
+p1813
+ag3
+a(lp1814
+(S'abc\x0091'
+p1815
+S' 0: abc\x0091'
+p1816
+tp1817
+a(S'abc\x0091'
+p1818
+S' 0: abc\x0091'
+p1819
+tp1820
+aaa(lp1821
+S'ab\\idef'
+p1822
+ag3
+a(lp1823
+(S'abidef'
+p1824
+S' 0: abidef'
+p1825
+tp1826
+aaa(lp1827
+S'a{0}bc'
+p1828
+ag3
+a(lp1829
+(S'bc'
+p1830
+S' 0: bc'
+p1831
+tp1832
+aaa(lp1833
+S'abc[\\10]de'
+p1834
+ag3
+a(lp1835
+(S'abc\x08de'
+p1836
+S' 0: abc\x08de'
+p1837
+tp1838
+aaa(lp1839
+S'abc[\\1]de'
+p1840
+ag3
+a(lp1841
+(S'abc\x01de'
+p1842
+S' 0: abc\x01de'
+p1843
+tp1844
+aaa(lp1845
+S'^([^a])([^\\b])([^c]*)([^d]{3,4})'
+p1846
+ag3
+a(lp1847
+(S'baNOTccccd'
+p1848
+S' 0: baNOTcccc'
+p1849
+tp1850
+a(S'baNOTcccd'
+p1851
+S' 0: baNOTccc'
+p1852
+tp1853
+a(S'baNOTccd'
+p1854
+S' 0: baNOTcc'
+p1855
+tp1856
+a(S'bacccd'
+p1857
+S' 0: baccc'
+p1858
+tp1859
+a(S'*** Failers'
+p1860
+S' 0: *** Failers'
+p1861
+tp1862
+a(S'anything'
+p1863
+S'No match'
+p1864
+tp1865
+a(S'b\x08c'
+p1866
+S'No match'
+p1867
+tp1868
+a(S'baccd'
+p1869
+S'No match'
+p1870
+tp1871
+aaa(lp1872
+S'[^a]'
+p1873
+ag3
+a(lp1874
+(S'Abc'
+p1875
+S' 0: A'
+p1876
+tp1877
+aaa(lp1878
+S'[^a]+'
+p1879
+ag3
+a(lp1880
+(S'AAAaAbc'
+p1881
+S' 0: AAA'
+p1882
+tp1883
+aaa(lp1884
+S'[^a]+'
+p1885
+ag3
+a(lp1886
+(S'bbb\nccc'
+p1887
+S' 0: bbb\nccc'
+p1888
+tp1889
+aaa(lp1890
+S'[^k]$'
+p1891
+ag3
+a(lp1892
+(S'abc'
+p1893
+S' 0: c'
+p1894
+tp1895
+a(S'*** Failers'
+p1896
+S' 0: s'
+p1897
+tp1898
+a(S'abk'
+p1899
+S'No match'
+p1900
+tp1901
+aaa(lp1902
+S'[^k]{2,3}$'
+p1903
+ag3
+a(lp1904
+(S'abc'
+p1905
+S' 0: abc'
+p1906
+tp1907
+a(S'kbc'
+p1908
+S' 0: bc'
+p1909
+tp1910
+a(S'kabc'
+p1911
+S' 0: abc'
+p1912
+tp1913
+a(S'*** Failers'
+p1914
+S' 0: ers'
+p1915
+tp1916
+a(S'abk'
+p1917
+S'No match'
+p1918
+tp1919
+a(S'akb'
+p1920
+S'No match'
+p1921
+tp1922
+a(S'akk'
+p1923
+S'No match'
+p1924
+tp1925
+aaa(lp1926
+S'^\\d{8,}\\@.+[^k]$'
+p1927
+ag3
+a(lp1928
+(S'12345678 at a.b.c.d'
+p1929
+S' 0: 12345678 at a.b.c.d'
+p1930
+tp1931
+a(S'123456789 at x.y.z'
+p1932
+S' 0: 123456789 at x.y.z'
+p1933
+tp1934
+a(S'*** Failers'
+p1935
+S'No match'
+p1936
+tp1937
+a(S'12345678 at x.y.uk'
+p1938
+S'No match'
+p1939
+tp1940
+a(S'1234567 at a.b.c.d'
+p1941
+S'No match'
+p1942
+tp1943
+aaa(lp1944
+S'[^a]'
+p1945
+ag3
+a(lp1946
+(S'aaaabcd'
+p1947
+S' 0: b'
+p1948
+tp1949
+a(S'aaAabcd'
+p1950
+S' 0: A'
+p1951
+tp1952
+aaa(lp1953
+S'[^az]'
+p1954
+ag3
+a(lp1955
+(S'aaaabcd'
+p1956
+S' 0: b'
+p1957
+tp1958
+a(S'aaAabcd'
+p1959
+S' 0: A'
+p1960
+tp1961
+aaa(lp1962
+S'\\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\\040\\041\\042\\043\\044\\045\\046\\047\\050\\051\\052\\053\\054\\055\\056\\057\\060\\061\\062\\063\\064\\065\\066\\067\\070\\071\\072\\073\\074\\075\\076\\077\\100\\101\\102\\103\\104\\105\\106\\107\\110\\111\\112\\113\\114\\115\\116\\117\\120\\121\\122\\123\\124\\125\\126\\127\\130\\131\\132\\133\\134\\135\\136\\137\\140\\141\\142\\143\\144\\145\\146\\147\\150\\151\\152\\153\\154\\155\\156\\157\\160\\161\\162\\163\\164\\165\\166\\167\\170\\171\\172\\173\\174\\175\\176\\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'
+p1963
+ag3
+a(lp1964
+(S'\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff'
+p1965
+S' 0: \x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff'
+p1966
+tp1967
+aaa(lp1968
+S'(\\.\\d\\d[1-9]?)\\d+'
+p1969
+ag3
+a(lp1970
+(S'1.230003938'
+p1971
+S' 0: .230003938'
+p1972
+tp1973
+a(S'1.875000282'
+p1974
+S' 0: .875000282'
+p1975
+tp1976
+a(S'1.235'
+p1977
+S' 0: .235'
+p1978
+tp1979
+aaa(lp1980
+S'foo(.*)bar'
+p1981
+ag3
+a(lp1982
+(S'The food is under the bar in the barn.'
+p1983
+S' 0: food is under the bar in the bar'
+p1984
+tp1985
+aaa(lp1986
+S'(.*)(\\d*)'
+p1987
+ag3
+a(lp1988
+(S'I have 2 numbers: 53147'
+p1989
+S' 0: I have 2 numbers: 53147'
+p1990
+tp1991
+aaa(lp1992
+S'(.*)(\\d+)'
+p1993
+ag3
+a(lp1994
+(S'I have 2 numbers: 53147'
+p1995
+S' 0: I have 2 numbers: 53147'
+p1996
+tp1997
+aaa(lp1998
+S'(.*)(\\d+)$'
+p1999
+ag3
+a(lp2000
+(S'I have 2 numbers: 53147'
+p2001
+S' 0: I have 2 numbers: 53147'
+p2002
+tp2003
+aaa(lp2004
+S'(.*)\\b(\\d+)$'
+p2005
+ag3
+a(lp2006
+(S'I have 2 numbers: 53147'
+p2007
+S' 0: I have 2 numbers: 53147'
+p2008
+tp2009
+aaa(lp2010
+S'(.*\\D)(\\d+)$'
+p2011
+ag3
+a(lp2012
+(S'I have 2 numbers: 53147'
+p2013
+S' 0: I have 2 numbers: 53147'
+p2014
+tp2015
+aaa(lp2016
+S'^[W-]46]'
+p2017
+ag3
+a(lp2018
+(S'W46]789'
+p2019
+S' 0: W46]'
+p2020
+tp2021
+a(S'-46]789'
+p2022
+S' 0: -46]'
+p2023
+tp2024
+a(S'*** Failers'
+p2025
+S'No match'
+p2026
+tp2027
+a(S'Wall'
+p2028
+S'No match'
+p2029
+tp2030
+a(S'Zebra'
+p2031
+S'No match'
+p2032
+tp2033
+a(S'42'
+p2034
+S'No match'
+p2035
+tp2036
+a(S'[abcd]'
+p2037
+S'No match'
+p2038
+tp2039
+a(S']abcd['
+p2040
+S'No match'
+p2041
+tp2042
+aaa(lp2043
+S'^[W-\\]46]'
+p2044
+ag3
+a(lp2045
+(S'W46]789'
+p2046
+S' 0: W'
+p2047
+tp2048
+a(S'Wall'
+p2049
+S' 0: W'
+p2050
+tp2051
+a(S'Zebra'
+p2052
+S' 0: Z'
+p2053
+tp2054
+a(S'Xylophone'
+p2055
+S' 0: X'
+p2056
+tp2057
+a(S'42'
+p2058
+S' 0: 4'
+p2059
+tp2060
+a(S'[abcd]'
+p2061
+S' 0: ['
+p2062
+tp2063
+a(S']abcd['
+p2064
+S' 0: ]'
+p2065
+tp2066
+a(S'\\backslash'
+p2067
+S' 0: \\'
+p2068
+tp2069
+a(S'*** Failers'
+p2070
+S'No match'
+p2071
+tp2072
+a(S'-46]789'
+p2073
+S'No match'
+p2074
+tp2075
+a(S'well'
+p2076
+S'No match'
+p2077
+tp2078
+aaa(lp2079
+S'\\d\\d\\/\\d\\d\\/\\d\\d\\d\\d'
+p2080
+ag3
+a(lp2081
+(S'01/01/2000'
+p2082
+S' 0: 01/01/2000'
+p2083
+tp2084
+aaa(lp2085
+S'^(a){0,0}'
+p2086
+ag3
+a(lp2087
+(S'bcd'
+p2088
+S' 0: '
+p2089
+tp2090
+a(S'abc'
+p2091
+S' 0: '
+p2092
+tp2093
+a(S'aab'
+p2094
+S' 0: '
+p2095
+tp2096
+aaa(lp2097
+S'^(a){0,1}'
+p2098
+ag3
+a(lp2099
+(S'bcd'
+p2100
+S' 0: '
+p2101
+tp2102
+a(S'abc'
+p2103
+S' 0: a'
+p2104
+tp2105
+a(S'aab'
+p2106
+S' 0: a'
+p2107
+tp2108
+aaa(lp2109
+S'^(a){0,2}'
+p2110
+ag3
+a(lp2111
+(S'bcd'
+p2112
+S' 0: '
+p2113
+tp2114
+a(S'abc'
+p2115
+S' 0: a'
+p2116
+tp2117
+a(S'aab'
+p2118
+S' 0: aa'
+p2119
+tp2120
+aaa(lp2121
+S'^(a){0,3}'
+p2122
+ag3
+a(lp2123
+(S'bcd'
+p2124
+S' 0: '
+p2125
+tp2126
+a(S'abc'
+p2127
+S' 0: a'
+p2128
+tp2129
+a(S'aab'
+p2130
+S' 0: aa'
+p2131
+tp2132
+a(S'aaa'
+p2133
+S' 0: aaa'
+p2134
+tp2135
+aaa(lp2136
+S'^(a){0,}'
+p2137
+ag3
+a(lp2138
+(S'bcd'
+p2139
+S' 0: '
+p2140
+tp2141
+a(S'abc'
+p2142
+S' 0: a'
+p2143
+tp2144
+a(S'aab'
+p2145
+S' 0: aa'
+p2146
+tp2147
+a(S'aaa'
+p2148
+S' 0: aaa'
+p2149
+tp2150
+a(S'aaaaaaaa'
+p2151
+S' 0: aaaaaaaa'
+p2152
+tp2153
+aaa(lp2154
+S'^(a){1,1}'
+p2155
+ag3
+a(lp2156
+(S'bcd'
+p2157
+S'No match'
+p2158
+tp2159
+a(S'abc'
+p2160
+S' 0: a'
+p2161
+tp2162
+a(S'aab'
+p2163
+S' 0: a'
+p2164
+tp2165
+aaa(lp2166
+S'^(a){1,2}'
+p2167
+ag3
+a(lp2168
+(S'bcd'
+p2169
+S'No match'
+p2170
+tp2171
+a(S'abc'
+p2172
+S' 0: a'
+p2173
+tp2174
+a(S'aab'
+p2175
+S' 0: aa'
+p2176
+tp2177
+aaa(lp2178
+S'^(a){1,3}'
+p2179
+ag3
+a(lp2180
+(S'bcd'
+p2181
+S'No match'
+p2182
+tp2183
+a(S'abc'
+p2184
+S' 0: a'
+p2185
+tp2186
+a(S'aab'
+p2187
+S' 0: aa'
+p2188
+tp2189
+a(S'aaa'
+p2190
+S' 0: aaa'
+p2191
+tp2192
+aaa(lp2193
+S'^(a){1,}'
+p2194
+ag3
+a(lp2195
+(S'bcd'
+p2196
+S'No match'
+p2197
+tp2198
+a(S'abc'
+p2199
+S' 0: a'
+p2200
+tp2201
+a(S'aab'
+p2202
+S' 0: aa'
+p2203
+tp2204
+a(S'aaa'
+p2205
+S' 0: aaa'
+p2206
+tp2207
+a(S'aaaaaaaa'
+p2208
+S' 0: aaaaaaaa'
+p2209
+tp2210
+aaa(lp2211
+S'.*\\.gif'
+p2212
+ag3
+a(lp2213
+(S'borfle\nbib.gif\nno'
+p2214
+S' 0: bib.gif'
+p2215
+tp2216
+aaa(lp2217
+S'.{0,}\\.gif'
+p2218
+ag3
+a(lp2219
+(S'borfle\nbib.gif\nno'
+p2220
+S' 0: bib.gif'
+p2221
+tp2222
+aaa(lp2223
+S'.*$'
+p2224
+ag3
+a(lp2225
+(S'borfle\nbib.gif\nno'
+p2226
+S' 0: no'
+p2227
+tp2228
+aaa(lp2229
+S'.*$'
+p2230
+ag3
+a(lp2231
+(S'borfle\nbib.gif\nno\n'
+p2232
+S' 0: no'
+p2233
+tp2234
+aaa(lp2235
+S'^.*B'
+p2236
+ag3
+a(lp2237
+(S'**** Failers'
+p2238
+S'No match'
+p2239
+tp2240
+a(S'abc\nB'
+p2241
+S'No match'
+p2242
+tp2243
+aaa(lp2244
+S'^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
+p2245
+ag3
+a(lp2246
+(S'123456654321'
+p2247
+S' 0: 123456654321'
+p2248
+tp2249
+aaa(lp2250
+S'^\\d\\d\\d\\d\\d\\d\\d\\d\\d\\d\\d\\d'
+p2251
+ag3
+a(lp2252
+(S'123456654321'
+p2253
+S' 0: 123456654321'
+p2254
+tp2255
+aaa(lp2256
+S'^[\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d]'
+p2257
+ag3
+a(lp2258
+(S'123456654321'
+p2259
+S' 0: 123456654321'
+p2260
+tp2261
+aaa(lp2262
+S'^[abc]{12}'
+p2263
+ag3
+a(lp2264
+(S'abcabcabcabc'
+p2265
+S' 0: abcabcabcabc'
+p2266
+tp2267
+aaa(lp2268
+S'^[a-c]{12}'
+p2269
+ag3
+a(lp2270
+(S'abcabcabcabc'
+p2271
+S' 0: abcabcabcabc'
+p2272
+tp2273
+aaa(lp2274
+S'^(a|b|c){12}'
+p2275
+ag3
+a(lp2276
+(S'abcabcabcabc'
+p2277
+S' 0: abcabcabcabc'
+p2278
+tp2279
+aaa(lp2280
+S'^[abcdefghijklmnopqrstuvwxy0123456789]'
+p2281
+ag3
+a(lp2282
+(S'n'
+p2283
+S' 0: n'
+p2284
+tp2285
+a(S'*** Failers'
+p2286
+S'No match'
+p2287
+tp2288
+a(g1428
+S'No match'
+p2289
+tp2290
+aaa(lp2291
+S'abcde{0,0}'
+p2292
+ag3
+a(lp2293
+(S'abcd'
+p2294
+S' 0: abcd'
+p2295
+tp2296
+a(S'*** Failers'
+p2297
+S'No match'
+p2298
+tp2299
+a(S'abce'
+p2300
+S'No match'
+p2301
+tp2302
+aaa(lp2303
+S'ab[cd]{0,0}e'
+p2304
+ag3
+a(lp2305
+(S'abe'
+p2306
+S' 0: abe'
+p2307
+tp2308
+a(S'*** Failers'
+p2309
+S'No match'
+p2310
+tp2311
+a(S'abcde'
+p2312
+S'No match'
+p2313
+tp2314
+aaa(lp2315
+S'ab(c){0,0}d'
+p2316
+ag3
+a(lp2317
+(S'abd'
+p2318
+S' 0: abd'
+p2319
+tp2320
+a(S'*** Failers'
+p2321
+S'No match'
+p2322
+tp2323
+a(S'abcd'
+p2324
+S'No match'
+p2325
+tp2326
+aaa(lp2327
+S'a(b*)'
+p2328
+ag3
+a(lp2329
+(g41
+S' 0: a'
+p2330
+tp2331
+a(S'ab'
+p2332
+S' 0: ab'
+p2333
+tp2334
+a(S'abbbb'
+p2335
+S' 0: abbbb'
+p2336
+tp2337
+a(S'*** Failers'
+p2338
+S' 0: a'
+p2339
+tp2340
+a(S'bbbbb'
+p2341
+S'No match'
+p2342
+tp2343
+aaa(lp2344
+S'ab\\d{0}e'
+p2345
+ag3
+a(lp2346
+(S'abe'
+p2347
+S' 0: abe'
+p2348
+tp2349
+a(S'*** Failers'
+p2350
+S'No match'
+p2351
+tp2352
+a(S'ab1e'
+p2353
+S'No match'
+p2354
+tp2355
+aaa(lp2356
+S'"([^\\\\"]+|\\\\.)*"'
+p2357
+ag3
+a(lp2358
+(S'the "quick" brown fox'
+p2359
+S' 0: "quick"'
+p2360
+tp2361
+a(S'"the \\"quick\\" brown fox"'
+p2362
+S' 0: "the \\"quick\\" brown fox"'
+p2363
+tp2364
+aaa(lp2365
+S'a[^a]b'
+p2366
+ag3
+a(lp2367
+(S'acb'
+p2368
+S' 0: acb'
+p2369
+tp2370
+a(S'a\nb'
+p2371
+S' 0: a\nb'
+p2372
+tp2373
+aaa(lp2374
+S'a.b'
+p2375
+ag3
+a(lp2376
+(S'acb'
+p2377
+S' 0: acb'
+p2378
+tp2379
+a(S'*** Failers'
+p2380
+S'No match'
+p2381
+tp2382
+a(S'a\nb'
+p2383
+S'No match'
+p2384
+tp2385
+aaa(lp2386
+S'\\x00{ab}'
+p2387
+ag3
+a(lp2388
+(S'\x00{ab}'
+p2389
+S' 0: \x00{ab}'
+p2390
+tp2391
+aaa(lp2392
+S'(A|B)*CD'
+p2393
+ag3
+a(lp2394
+(S'CD'
+p2395
+S' 0: CD'
+p2396
+tp2397
+aaa(lp2398
+S'(\\d+)(\\w)'
+p2399
+ag3
+a(lp2400
+(S'12345a'
+p2401
+S' 0: 12345a'
+p2402
+tp2403
+a(S'12345+'
+p2404
+S' 0: 12345'
+p2405
+tp2406
+aaa(lp2407
+S'(a+|b+|c+)*c'
+p2408
+ag3
+a(lp2409
+(S'aaabbbbccccd'
+p2410
+S' 0: aaabbbbcccc'
+p2411
+tp2412
+aaa(lp2413
+S'(abc|)+'
+p2414
+ag3
+a(lp2415
+(S'abc'
+p2416
+S' 0: abc'
+p2417
+tp2418
+a(S'abcabc'
+p2419
+S' 0: abcabc'
+p2420
+tp2421
+a(S'abcabcabc'
+p2422
+S' 0: abcabcabc'
+p2423
+tp2424
+a(S'xyz'
+p2425
+S' 0: '
+p2426
+tp2427
+aaa(lp2428
+S'([a]*)*'
+p2429
+ag3
+a(lp2430
+(g41
+S' 0: a'
+p2431
+tp2432
+a(S'aaaaa'
+p2433
+S' 0: aaaaa'
+p2434
+tp2435
+aaa(lp2436
+S'([ab]*)*'
+p2437
+ag3
+a(lp2438
+(g41
+S' 0: a'
+p2439
+tp2440
+a(g1679
+S' 0: b'
+p2441
+tp2442
+a(S'ababab'
+p2443
+S' 0: ababab'
+p2444
+tp2445
+a(S'aaaabcde'
+p2446
+S' 0: aaaab'
+p2447
+tp2448
+a(S'bbbb'
+p2449
+S' 0: bbbb'
+p2450
+tp2451
+aaa(lp2452
+S'([^a]*)*'
+p2453
+ag3
+a(lp2454
+(g1679
+S' 0: b'
+p2455
+tp2456
+a(S'bbbb'
+p2457
+S' 0: bbbb'
+p2458
+tp2459
+a(S'aaa'
+p2460
+S' 0: '
+p2461
+tp2462
+aaa(lp2463
+S'([^ab]*)*'
+p2464
+ag3
+a(lp2465
+(S'cccc'
+p2466
+S' 0: cccc'
+p2467
+tp2468
+a(S'abab'
+p2469
+S' 0: '
+p2470
+tp2471
+aaa(lp2472
+S'The following tests are taken from the Perl 5.005 test suite; some of them'
+p2473
+ag3
+a(lp2474
+(S"/are compatible with 5.004, but I'd rather not have to sort them out./"
+p2475
+S'No match'
+p2476
+tp2477
+aaa(lp2478
+S'abc'
+p2479
+ag3
+a(lp2480
+(S'abc'
+p2481
+S' 0: abc'
+p2482
+tp2483
+a(S'xabcy'
+p2484
+S' 0: abc'
+p2485
+tp2486
+a(S'ababc'
+p2487
+S' 0: abc'
+p2488
+tp2489
+a(S'*** Failers'
+p2490
+S'No match'
+p2491
+tp2492
+a(S'xbc'
+p2493
+S'No match'
+p2494
+tp2495
+a(S'axc'
+p2496
+S'No match'
+p2497
+tp2498
+a(S'abx'
+p2499
+S'No match'
+p2500
+tp2501
+aaa(lp2502
+S'ab*c'
+p2503
+ag3
+a(lp2504
+(S'abc'
+p2505
+S' 0: abc'
+p2506
+tp2507
+aaa(lp2508
+S'ab*bc'
+p2509
+ag3
+a(lp2510
+(S'abc'
+p2511
+S' 0: abc'
+p2512
+tp2513
+a(S'abbc'
+p2514
+S' 0: abbc'
+p2515
+tp2516
+a(S'abbbbc'
+p2517
+S' 0: abbbbc'
+p2518
+tp2519
+aaa(lp2520
+S'.{1}'
+p2521
+ag3
+a(lp2522
+(S'abbbbc'
+p2523
+S' 0: a'
+p2524
+tp2525
+aaa(lp2526
+S'.{3,4}'
+p2527
+ag3
+a(lp2528
+(S'abbbbc'
+p2529
+S' 0: abbb'
+p2530
+tp2531
+aaa(lp2532
+S'ab{0,}bc'
+p2533
+ag3
+a(lp2534
+(S'abbbbc'
+p2535
+S' 0: abbbbc'
+p2536
+tp2537
+aaa(lp2538
+S'ab+bc'
+p2539
+ag3
+a(lp2540
+(S'abbc'
+p2541
+S' 0: abbc'
+p2542
+tp2543
+a(S'*** Failers'
+p2544
+S'No match'
+p2545
+tp2546
+a(S'abc'
+p2547
+S'No match'
+p2548
+tp2549
+a(S'abq'
+p2550
+S'No match'
+p2551
+tp2552
+aaa(lp2553
+S'ab{1,}bc'
+p2554
+ag3
+a(lp2555
+aa(lp2556
+S'ab+bc'
+p2557
+ag3
+a(lp2558
+(S'abbbbc'
+p2559
+S' 0: abbbbc'
+p2560
+tp2561
+aaa(lp2562
+S'ab{1,}bc'
+p2563
+ag3
+a(lp2564
+(S'abbbbc'
+p2565
+S' 0: abbbbc'
+p2566
+tp2567
+aaa(lp2568
+S'ab{1,3}bc'
+p2569
+ag3
+a(lp2570
+(S'abbbbc'
+p2571
+S' 0: abbbbc'
+p2572
+tp2573
+aaa(lp2574
+S'ab{3,4}bc'
+p2575
+ag3
+a(lp2576
+(S'abbbbc'
+p2577
+S' 0: abbbbc'
+p2578
+tp2579
+aaa(lp2580
+S'ab{4,5}bc'
+p2581
+ag3
+a(lp2582
+(S'*** Failers'
+p2583
+S'No match'
+p2584
+tp2585
+a(S'abq'
+p2586
+S'No match'
+p2587
+tp2588
+a(S'abbbbc'
+p2589
+S'No match'
+p2590
+tp2591
+aaa(lp2592
+S'ab?bc'
+p2593
+ag3
+a(lp2594
+(S'abbc'
+p2595
+S' 0: abbc'
+p2596
+tp2597
+a(S'abc'
+p2598
+S' 0: abc'
+p2599
+tp2600
+aaa(lp2601
+S'ab{0,1}bc'
+p2602
+ag3
+a(lp2603
+(S'abc'
+p2604
+S' 0: abc'
+p2605
+tp2606
+aaa(lp2607
+S'ab?bc'
+p2608
+ag3
+a(lp2609
+aa(lp2610
+S'ab?c'
+p2611
+ag3
+a(lp2612
+(S'abc'
+p2613
+S' 0: abc'
+p2614
+tp2615
+aaa(lp2616
+S'ab{0,1}c'
+p2617
+ag3
+a(lp2618
+(S'abc'
+p2619
+S' 0: abc'
+p2620
+tp2621
+aaa(lp2622
+S'^abc$'
+p2623
+ag3
+a(lp2624
+(S'abc'
+p2625
+S' 0: abc'
+p2626
+tp2627
+a(S'*** Failers'
+p2628
+S'No match'
+p2629
+tp2630
+a(S'abbbbc'
+p2631
+S'No match'
+p2632
+tp2633
+a(S'abcc'
+p2634
+S'No match'
+p2635
+tp2636
+aaa(lp2637
+S'^abc'
+p2638
+ag3
+a(lp2639
+(S'abcc'
+p2640
+S' 0: abc'
+p2641
+tp2642
+aaa(lp2643
+S'^abc$'
+p2644
+ag3
+a(lp2645
+aa(lp2646
+S'abc$'
+p2647
+ag3
+a(lp2648
+(S'aabc'
+p2649
+S' 0: abc'
+p2650
+tp2651
+a(S'*** Failers'
+p2652
+S'No match'
+p2653
+tp2654
+a(S'aabc'
+p2655
+S' 0: abc'
+p2656
+tp2657
+a(S'aabcd'
+p2658
+S'No match'
+p2659
+tp2660
+aaa(lp2661
+S'^'
+p2662
+ag3
+a(lp2663
+(S'abc'
+p2664
+S' 0: '
+p2665
+tp2666
+aaa(lp2667
+S'$'
+p2668
+ag3
+a(lp2669
+(S'abc'
+p2670
+S' 0: '
+p2671
+tp2672
+aaa(lp2673
+S'a.c'
+p2674
+ag3
+a(lp2675
+(S'abc'
+p2676
+S' 0: abc'
+p2677
+tp2678
+a(S'axc'
+p2679
+S' 0: axc'
+p2680
+tp2681
+aaa(lp2682
+S'a.*c'
+p2683
+ag3
+a(lp2684
+(S'axyzc'
+p2685
+S' 0: axyzc'
+p2686
+tp2687
+aaa(lp2688
+S'a[bc]d'
+p2689
+ag3
+a(lp2690
+(S'abd'
+p2691
+S' 0: abd'
+p2692
+tp2693
+a(S'*** Failers'
+p2694
+S'No match'
+p2695
+tp2696
+a(S'axyzd'
+p2697
+S'No match'
+p2698
+tp2699
+a(S'abc'
+p2700
+S'No match'
+p2701
+tp2702
+aaa(lp2703
+S'a[b-d]e'
+p2704
+ag3
+a(lp2705
+(S'ace'
+p2706
+S' 0: ace'
+p2707
+tp2708
+aaa(lp2709
+S'a[b-d]'
+p2710
+ag3
+a(lp2711
+(S'aac'
+p2712
+S' 0: ac'
+p2713
+tp2714
+aaa(lp2715
+S'a[-b]'
+p2716
+ag3
+a(lp2717
+(S'a-'
+p2718
+S' 0: a-'
+p2719
+tp2720
+aaa(lp2721
+S'a[b-]'
+p2722
+ag3
+a(lp2723
+(S'a-'
+p2724
+S' 0: a-'
+p2725
+tp2726
+aaa(lp2727
+S'a]'
+p2728
+ag3
+a(lp2729
+(S'a]'
+p2730
+S' 0: a]'
+p2731
+tp2732
+aaa(lp2733
+S'a[]]b'
+p2734
+ag3
+a(lp2735
+(S'a]b'
+p2736
+S' 0: a]b'
+p2737
+tp2738
+aaa(lp2739
+S'a[^bc]d'
+p2740
+ag3
+a(lp2741
+(S'aed'
+p2742
+S' 0: aed'
+p2743
+tp2744
+a(S'*** Failers'
+p2745
+S'No match'
+p2746
+tp2747
+a(S'abd'
+p2748
+S'No match'
+p2749
+tp2750
+a(S'abd'
+p2751
+S'No match'
+p2752
+tp2753
+aaa(lp2754
+S'a[^-b]c'
+p2755
+ag3
+a(lp2756
+(S'adc'
+p2757
+S' 0: adc'
+p2758
+tp2759
+aaa(lp2760
+S'a[^]b]c'
+p2761
+ag3
+a(lp2762
+(S'adc'
+p2763
+S' 0: adc'
+p2764
+tp2765
+a(S'*** Failers'
+p2766
+S'No match'
+p2767
+tp2768
+a(S'a-c'
+p2769
+S' 0: a-c'
+p2770
+tp2771
+a(S'a]c'
+p2772
+S'No match'
+p2773
+tp2774
+aaa(lp2775
+S'\\ba\\b'
+p2776
+ag3
+a(lp2777
+(S'a-'
+p2778
+S' 0: a'
+p2779
+tp2780
+a(S'-a'
+p2781
+S' 0: a'
+p2782
+tp2783
+a(S'-a-'
+p2784
+S' 0: a'
+p2785
+tp2786
+aaa(lp2787
+S'\\by\\b'
+p2788
+ag3
+a(lp2789
+(S'*** Failers'
+p2790
+S'No match'
+p2791
+tp2792
+a(S'xy'
+p2793
+S'No match'
+p2794
+tp2795
+a(S'yz'
+p2796
+S'No match'
+p2797
+tp2798
+a(S'xyz'
+p2799
+S'No match'
+p2800
+tp2801
+aaa(lp2802
+S'\\Ba\\B'
+p2803
+ag3
+a(lp2804
+(S'*** Failers'
+p2805
+S' 0: a'
+p2806
+tp2807
+a(S'a-'
+p2808
+S'No match'
+p2809
+tp2810
+a(S'-a'
+p2811
+S'No match'
+p2812
+tp2813
+a(S'-a-'
+p2814
+S'No match'
+p2815
+tp2816
+aaa(lp2817
+S'\\By\\b'
+p2818
+ag3
+a(lp2819
+(S'xy'
+p2820
+S' 0: y'
+p2821
+tp2822
+aaa(lp2823
+S'\\by\\B'
+p2824
+ag3
+a(lp2825
+(S'yz'
+p2826
+S' 0: y'
+p2827
+tp2828
+aaa(lp2829
+S'\\By\\B'
+p2830
+ag3
+a(lp2831
+(S'xyz'
+p2832
+S' 0: y'
+p2833
+tp2834
+aaa(lp2835
+S'\\w'
+p2836
+ag3
+a(lp2837
+(g41
+S' 0: a'
+p2838
+tp2839
+aaa(lp2840
+S'\\W'
+p2841
+ag3
+a(lp2842
+(S'-'
+p2843
+S' 0: -'
+p2844
+tp2845
+a(S'*** Failers'
+p2846
+S' 0: *'
+p2847
+tp2848
+a(g2843
+S' 0: -'
+p2849
+tp2850
+a(g41
+S'No match'
+p2851
+tp2852
+aaa(lp2853
+S'a\\sb'
+p2854
+ag3
+a(lp2855
+(S'a b'
+p2856
+S' 0: a b'
+p2857
+tp2858
+aaa(lp2859
+S'a\\Sb'
+p2860
+ag3
+a(lp2861
+(S'a-b'
+p2862
+S' 0: a-b'
+p2863
+tp2864
+a(S'*** Failers'
+p2865
+S'No match'
+p2866
+tp2867
+a(S'a-b'
+p2868
+S' 0: a-b'
+p2869
+tp2870
+a(S'a b'
+p2871
+S'No match'
+p2872
+tp2873
+aaa(lp2874
+S'\\d'
+p2875
+ag3
+a(lp2876
+(g1177
+S' 0: 1'
+p2877
+tp2878
+aaa(lp2879
+S'\\D'
+p2880
+ag3
+a(lp2881
+(g2843
+S' 0: -'
+p2882
+tp2883
+a(S'*** Failers'
+p2884
+S' 0: *'
+p2885
+tp2886
+a(g2843
+S' 0: -'
+p2887
+tp2888
+a(g1177
+S'No match'
+p2889
+tp2890
+aaa(lp2891
+S'[\\w]'
+p2892
+ag3
+a(lp2893
+(g41
+S' 0: a'
+p2894
+tp2895
+aaa(lp2896
+S'[\\W]'
+p2897
+ag3
+a(lp2898
+(g2843
+S' 0: -'
+p2899
+tp2900
+a(S'*** Failers'
+p2901
+S' 0: *'
+p2902
+tp2903
+a(g2843
+S' 0: -'
+p2904
+tp2905
+a(g41
+S'No match'
+p2906
+tp2907
+aaa(lp2908
+S'a[\\s]b'
+p2909
+ag3
+a(lp2910
+(S'a b'
+p2911
+S' 0: a b'
+p2912
+tp2913
+aaa(lp2914
+S'a[\\S]b'
+p2915
+ag3
+a(lp2916
+(S'a-b'
+p2917
+S' 0: a-b'
+p2918
+tp2919
+a(S'*** Failers'
+p2920
+S'No match'
+p2921
+tp2922
+a(S'a-b'
+p2923
+S' 0: a-b'
+p2924
+tp2925
+a(S'a b'
+p2926
+S'No match'
+p2927
+tp2928
+aaa(lp2929
+S'[\\d]'
+p2930
+ag3
+a(lp2931
+(g1177
+S' 0: 1'
+p2932
+tp2933
+aaa(lp2934
+S'[\\D]'
+p2935
+ag3
+a(lp2936
+(g2843
+S' 0: -'
+p2937
+tp2938
+a(S'*** Failers'
+p2939
+S' 0: *'
+p2940
+tp2941
+a(g2843
+S' 0: -'
+p2942
+tp2943
+a(g1177
+S'No match'
+p2944
+tp2945
+aaa(lp2946
+S'ab|cd'
+p2947
+ag3
+a(lp2948
+(S'abc'
+p2949
+S' 0: ab'
+p2950
+tp2951
+a(S'abcd'
+p2952
+S' 0: ab'
+p2953
+tp2954
+aaa(lp2955
+S'()ef'
+p2956
+ag3
+a(lp2957
+(S'def'
+p2958
+S' 0: ef'
+p2959
+tp2960
+aaa(lp2961
+S'$b'
+p2962
+ag3
+a(lp2963
+aa(lp2964
+S'a\\(b'
+p2965
+ag3
+a(lp2966
+(S'a(b'
+p2967
+S' 0: a(b'
+p2968
+tp2969
+aaa(lp2970
+S'a\\(*b'
+p2971
+ag3
+a(lp2972
+(S'ab'
+p2973
+S' 0: ab'
+p2974
+tp2975
+a(S'a((b'
+p2976
+S' 0: a((b'
+p2977
+tp2978
+aaa(lp2979
+S'a\\\\b'
+p2980
+ag3
+a(lp2981
+(S'a\x08'
+p2982
+S'No match'
+p2983
+tp2984
+aaa(lp2985
+S'((a))'
+p2986
+ag3
+a(lp2987
+(S'abc'
+p2988
+S' 0: a'
+p2989
+tp2990
+aaa(lp2991
+S'(a)b(c)'
+p2992
+ag3
+a(lp2993
+(S'abc'
+p2994
+S' 0: abc'
+p2995
+tp2996
+aaa(lp2997
+S'a+b+c'
+p2998
+ag3
+a(lp2999
+(S'aabbabc'
+p3000
+S' 0: abc'
+p3001
+tp3002
+aaa(lp3003
+S'a{1,}b{1,}c'
+p3004
+ag3
+a(lp3005
+(S'aabbabc'
+p3006
+S' 0: abc'
+p3007
+tp3008
+aaa(lp3009
+S'(a+|b)*'
+p3010
+ag3
+a(lp3011
+(S'ab'
+p3012
+S' 0: ab'
+p3013
+tp3014
+aaa(lp3015
+S'(a+|b){0,}'
+p3016
+ag3
+a(lp3017
+(S'ab'
+p3018
+S' 0: ab'
+p3019
+tp3020
+aaa(lp3021
+S'(a+|b)+'
+p3022
+ag3
+a(lp3023
+(S'ab'
+p3024
+S' 0: ab'
+p3025
+tp3026
+aaa(lp3027
+S'(a+|b){1,}'
+p3028
+ag3
+a(lp3029
+(S'ab'
+p3030
+S' 0: ab'
+p3031
+tp3032
+aaa(lp3033
+S'(a+|b)?'
+p3034
+ag3
+a(lp3035
+(S'ab'
+p3036
+S' 0: a'
+p3037
+tp3038
+aaa(lp3039
+S'(a+|b){0,1}'
+p3040
+ag3
+a(lp3041
+(S'ab'
+p3042
+S' 0: a'
+p3043
+tp3044
+aaa(lp3045
+S'[^ab]*'
+p3046
+ag3
+a(lp3047
+(S'cde'
+p3048
+S' 0: cde'
+p3049
+tp3050
+aaa(lp3051
+S'abc'
+p3052
+ag3
+a(lp3053
+(S'*** Failers'
+p3054
+S'No match'
+p3055
+tp3056
+a(g1679
+S'No match'
+p3057
+tp3058
+aaa(lp3059
+S'a*'
+p3060
+ag3
+a(lp3061
+aa(lp3062
+S'([abc])*d'
+p3063
+ag3
+a(lp3064
+(S'abbbcd'
+p3065
+S' 0: abbbcd'
+p3066
+tp3067
+aaa(lp3068
+S'([abc])*bcd'
+p3069
+ag3
+a(lp3070
+(S'abcd'
+p3071
+S' 0: abcd'
+p3072
+tp3073
+aaa(lp3074
+S'a|b|c|d|e'
+p3075
+ag3
+a(lp3076
+(S'e'
+p3077
+S' 0: e'
+p3078
+tp3079
+aaa(lp3080
+S'(a|b|c|d|e)f'
+p3081
+ag3
+a(lp3082
+(S'ef'
+p3083
+S' 0: ef'
+p3084
+tp3085
+aaa(lp3086
+S'abcd*efg'
+p3087
+ag3
+a(lp3088
+(S'abcdefg'
+p3089
+S' 0: abcdefg'
+p3090
+tp3091
+aaa(lp3092
+S'ab*'
+p3093
+ag3
+a(lp3094
+(S'xabyabbbz'
+p3095
+S' 0: ab'
+p3096
+tp3097
+a(S'xayabbbz'
+p3098
+S' 0: a'
+p3099
+tp3100
+aaa(lp3101
+S'(ab|cd)e'
+p3102
+ag3
+a(lp3103
+(S'abcde'
+p3104
+S' 0: cde'
+p3105
+tp3106
+aaa(lp3107
+S'[abhgefdc]ij'
+p3108
+ag3
+a(lp3109
+(S'hij'
+p3110
+S' 0: hij'
+p3111
+tp3112
+aaa(lp3113
+S'^(ab|cd)e'
+p3114
+ag3
+a(lp3115
+aa(lp3116
+S'(abc|)ef'
+p3117
+ag3
+a(lp3118
+(S'abcdef'
+p3119
+S' 0: ef'
+p3120
+tp3121
+aaa(lp3122
+S'(a|b)c*d'
+p3123
+ag3
+a(lp3124
+(S'abcd'
+p3125
+S' 0: bcd'
+p3126
+tp3127
+aaa(lp3128
+S'(ab|ab*)bc'
+p3129
+ag3
+a(lp3130
+(S'abc'
+p3131
+S' 0: abc'
+p3132
+tp3133
+aaa(lp3134
+S'a([bc]*)c*'
+p3135
+ag3
+a(lp3136
+(S'abc'
+p3137
+S' 0: abc'
+p3138
+tp3139
+aaa(lp3140
+S'a([bc]*)(c*d)'
+p3141
+ag3
+a(lp3142
+(S'abcd'
+p3143
+S' 0: abcd'
+p3144
+tp3145
+aaa(lp3146
+S'a([bc]+)(c*d)'
+p3147
+ag3
+a(lp3148
+(S'abcd'
+p3149
+S' 0: abcd'
+p3150
+tp3151
+aaa(lp3152
+S'a([bc]*)(c+d)'
+p3153
+ag3
+a(lp3154
+(S'abcd'
+p3155
+S' 0: abcd'
+p3156
+tp3157
+aaa(lp3158
+S'a[bcd]*dcdcde'
+p3159
+ag3
+a(lp3160
+(S'adcdcde'
+p3161
+S' 0: adcdcde'
+p3162
+tp3163
+aaa(lp3164
+S'a[bcd]+dcdcde'
+p3165
+ag3
+a(lp3166
+(S'*** Failers'
+p3167
+S'No match'
+p3168
+tp3169
+a(S'abcde'
+p3170
+S'No match'
+p3171
+tp3172
+a(S'adcdcde'
+p3173
+S'No match'
+p3174
+tp3175
+aaa(lp3176
+S'(ab|a)b*c'
+p3177
+ag3
+a(lp3178
+(S'abc'
+p3179
+S' 0: abc'
+p3180
+tp3181
+aaa(lp3182
+S'((a)(b)c)(d)'
+p3183
+ag3
+a(lp3184
+(S'abcd'
+p3185
+S' 0: abcd'
+p3186
+tp3187
+aaa(lp3188
+S'[a-zA-Z_][a-zA-Z0-9_]*'
+p3189
+ag3
+a(lp3190
+(S'alpha'
+p3191
+S' 0: alpha'
+p3192
+tp3193
+aaa(lp3194
+S'^a(bc+|b[eh])g|.h$'
+p3195
+ag3
+a(lp3196
+(S'abh'
+p3197
+S' 0: bh'
+p3198
+tp3199
+aaa(lp3200
+S'(bc+d$|ef*g.|h?i(j|k))'
+p3201
+ag3
+a(lp3202
+(S'effgz'
+p3203
+S' 0: effgz'
+p3204
+tp3205
+a(S'ij'
+p3206
+S' 0: ij'
+p3207
+tp3208
+a(S'reffgz'
+p3209
+S' 0: effgz'
+p3210
+tp3211
+a(S'*** Failers'
+p3212
+S'No match'
+p3213
+tp3214
+a(S'effg'
+p3215
+S'No match'
+p3216
+tp3217
+a(S'bcdd'
+p3218
+S'No match'
+p3219
+tp3220
+aaa(lp3221
+S'((((((((((a))))))))))'
+p3222
+ag3
+a(lp3223
+(g41
+S' 0: a'
+p3224
+tp3225
+aaa(lp3226
+S'(((((((((a)))))))))'
+p3227
+ag3
+a(lp3228
+(g41
+S' 0: a'
+p3229
+tp3230
+aaa(lp3231
+S'multiple words of text'
+p3232
+ag3
+a(lp3233
+(S'*** Failers'
+p3234
+S'No match'
+p3235
+tp3236
+a(S'aa'
+p3237
+S'No match'
+p3238
+tp3239
+a(S'uh-uh'
+p3240
+S'No match'
+p3241
+tp3242
+aaa(lp3243
+S'multiple words'
+p3244
+ag3
+a(lp3245
+(S'multiple words, yeah'
+p3246
+S' 0: multiple words'
+p3247
+tp3248
+aaa(lp3249
+S'(.*)c(.*)'
+p3250
+ag3
+a(lp3251
+(S'abcde'
+p3252
+S' 0: abcde'
+p3253
+tp3254
+aaa(lp3255
+S'\\((.*), (.*)\\)'
+p3256
+ag3
+a(lp3257
+(S'(a, b)'
+p3258
+S' 0: (a, b)'
+p3259
+tp3260
+aaa(lp3261
+S'[k]'
+p3262
+ag3
+a(lp3263
+aa(lp3264
+S'abcd'
+p3265
+ag3
+a(lp3266
+(S'abcd'
+p3267
+S' 0: abcd'
+p3268
+tp3269
+aaa(lp3270
+S'a(bc)d'
+p3271
+ag3
+a(lp3272
+(S'abcd'
+p3273
+S' 0: abcd'
+p3274
+tp3275
+aaa(lp3276
+S'a[-]?c'
+p3277
+ag3
+a(lp3278
+(S'ac'
+p3279
+S' 0: ac'
+p3280
+tp3281
+aaa(lp3282
+S'((foo)|(bar))*'
+p3283
+ag3
+a(lp3284
+(S'foobar'
+p3285
+S' 0: foobar'
+p3286
+tp3287
+aaa(lp3288
+S'^(.+)?B'
+p3289
+ag3
+a(lp3290
+(S'AB'
+p3291
+S' 0: AB'
+p3292
+tp3293
+aaa(lp3294
+S'^([^a-z])|(\\^)$'
+p3295
+ag3
+a(lp3296
+(S'.'
+p3297
+S' 0: .'
+p3298
+tp3299
+aaa(lp3300
+S'^[<>]&'
+p3301
+ag3
+a(lp3302
+(S'<&OUT'
+p3303
+S' 0: <&'
+p3304
+tp3305
+aaa(lp3306
+S'^(){3,5}'
+p3307
+ag3
+a(lp3308
+(S'abc'
+p3309
+S' 0: '
+p3310
+tp3311
+aaa(lp3312
+S'^(a+)*ax'
+p3313
+ag3
+a(lp3314
+(S'aax'
+p3315
+S' 0: aax'
+p3316
+tp3317
+aaa(lp3318
+S'^((a|b)+)*ax'
+p3319
+ag3
+a(lp3320
+(S'aax'
+p3321
+S' 0: aax'
+p3322
+tp3323
+aaa(lp3324
+S'^((a|bc)+)*ax'
+p3325
+ag3
+a(lp3326
+(S'aax'
+p3327
+S' 0: aax'
+p3328
+tp3329
+aaa(lp3330
+S'(a|x)*ab'
+p3331
+ag3
+a(lp3332
+(S'cab'
+p3333
+S' 0: ab'
+p3334
+tp3335
+aaa(lp3336
+S'(a)*ab'
+p3337
+ag3
+a(lp3338
+(S'cab'
+p3339
+S' 0: ab'
+p3340
+tp3341
+aaa(lp3342
+S'foo\\w*\\d{4}baz'
+p3343
+ag3
+a(lp3344
+(S'foobar1234baz'
+p3345
+S' 0: foobar1234baz'
+p3346
+tp3347
+aaa(lp3348
+S'^b'
+p3349
+ag3
+a(lp3350
+aa(lp3351
+S'(\\w+:)+'
+p3352
+ag3
+a(lp3353
+(S'one:'
+p3354
+S' 0: one:'
+p3355
+tp3356
+aaa(lp3357
+S'([\\w:]+::)?(\\w+)$'
+p3358
+ag3
+a(lp3359
+(S'abcd'
+p3360
+S' 0: abcd'
+p3361
+tp3362
+a(S'xy:z:::abcd'
+p3363
+S' 0: xy:z:::abcd'
+p3364
+tp3365
+aaa(lp3366
+S'^[^bcd]*(c+)'
+p3367
+ag3
+a(lp3368
+(S'aexycd'
+p3369
+S' 0: aexyc'
+p3370
+tp3371
+aaa(lp3372
+S'(a*)b+'
+p3373
+ag3
+a(lp3374
+(S'caab'
+p3375
+S' 0: aab'
+p3376
+tp3377
+aaa(lp3378
+S'([\\w:]+::)?(\\w+)$'
+p3379
+ag3
+a(lp3380
+(S'abcd'
+p3381
+S' 0: abcd'
+p3382
+tp3383
+a(S'xy:z:::abcd'
+p3384
+S' 0: xy:z:::abcd'
+p3385
+tp3386
+a(S'*** Failers'
+p3387
+S' 0: Failers'
+p3388
+tp3389
+a(S'abcd:'
+p3390
+S'No match'
+p3391
+tp3392
+a(S'abcd:'
+p3393
+S'No match'
+p3394
+tp3395
+aaa(lp3396
+S'^[^bcd]*(c+)'
+p3397
+ag3
+a(lp3398
+(S'aexycd'
+p3399
+S' 0: aexyc'
+p3400
+tp3401
+aaa(lp3402
+S'(>a+)ab'
+p3403
+ag3
+a(lp3404
+aa(lp3405
+S'([[:]+)'
+p3406
+ag3
+a(lp3407
+(S'a:[b]:'
+p3408
+S' 0: :['
+p3409
+tp3410
+aaa(lp3411
+S'([[=]+)'
+p3412
+ag3
+a(lp3413
+(S'a=[b]='
+p3414
+S' 0: =['
+p3415
+tp3416
+aaa(lp3417
+S'([[.]+)'
+p3418
+ag3
+a(lp3419
+(S'a.[b].'
+p3420
+S' 0: .['
+p3421
+tp3422
+aaa(lp3423
+S'a\\Z'
+p3424
+ag3
+a(lp3425
+(S'*** Failers'
+p3426
+S'No match'
+p3427
+tp3428
+a(S'aaab'
+p3429
+S'No match'
+p3430
+tp3431
+a(S'a\nb\n'
+p3432
+S'No match'
+p3433
+tp3434
+aaa(lp3435
+S'b\\Z'
+p3436
+ag3
+a(lp3437
+(S'a\nb\n'
+p3438
+S' 0: b'
+p3439
+tp3440
+aaa(lp3441
+S'b\\z'
+p3442
+ag3
+a(lp3443
+aa(lp3444
+S'b\\Z'
+p3445
+ag3
+a(lp3446
+(S'a\nb'
+p3447
+S' 0: b'
+p3448
+tp3449
+aaa(lp3450
+S'b\\z'
+p3451
+ag3
+a(lp3452
+(S'a\nb'
+p3453
+S' 0: b'
+p3454
+tp3455
+a(S'*** Failers'
+p3456
+S'No match'
+p3457
+tp3458
+aaa(lp3459
+S'((Z)+|A)*'
+p3460
+ag3
+a(lp3461
+(S'ZABCDEFG'
+p3462
+S' 0: ZA'
+p3463
+tp3464
+aaa(lp3465
+S'(Z()|A)*'
+p3466
+ag3
+a(lp3467
+(S'ZABCDEFG'
+p3468
+S' 0: ZA'
+p3469
+tp3470
+aaa(lp3471
+S'(Z(())|A)*'
+p3472
+ag3
+a(lp3473
+(S'ZABCDEFG'
+p3474
+S' 0: ZA'
+p3475
+tp3476
+aaa(lp3477
+S'^[a-\\d]'
+p3478
+ag3
+a(lp3479
+(S'abcde'
+p3480
+S' 0: a'
+p3481
+tp3482
+a(S'-things'
+p3483
+S' 0: -'
+p3484
+tp3485
+a(S'0digit'
+p3486
+S' 0: 0'
+p3487
+tp3488
+a(S'*** Failers'
+p3489
+S'No match'
+p3490
+tp3491
+a(S'bcdef'
+p3492
+S'No match'
+p3493
+tp3494
+aaa(lp3495
+S'^[\\d-a]'
+p3496
+ag3
+a(lp3497
+(S'abcde'
+p3498
+S' 0: a'
+p3499
+tp3500
+a(S'-things'
+p3501
+S' 0: -'
+p3502
+tp3503
+a(S'0digit'
+p3504
+S' 0: 0'
+p3505
+tp3506
+a(S'*** Failers'
+p3507
+S'No match'
+p3508
+tp3509
+a(S'bcdef'
+p3510
+S'No match'
+p3511
+tp3512
+aaa(lp3513
+S'[[:space:]]+'
+p3514
+ag3
+a(lp3515
+(S'> \t\n\x0c\r\x0b<'
+p3516
+S' 0:  \t\n\x0c\r\x0b'
+p3517
+tp3518
+aaa(lp3519
+S'[[:blank:]]+'
+p3520
+ag3
+a(lp3521
+(S'> \t\n\x0c\r\x0b<'
+p3522
+S' 0:  \t'
+p3523
+tp3524
+aaa(lp3525
+S'[\\s]+'
+p3526
+ag3
+a(lp3527
+(S'> \t\n\x0c\r\x0b<'
+p3528
+S' 0:  \t\n\x0c\r'
+p3529
+tp3530
+aaa(lp3531
+S'\\s+'
+p3532
+ag3
+a(lp3533
+(S'> \t\n\x0c\r\x0b<'
+p3534
+S' 0:  \t\n\x0c\r'
+p3535
+tp3536
+aaa(lp3537
+S'\\Gabc'
+p3538
+ag3
+a(lp3539
+(S'abc'
+p3540
+S' 0: abc'
+p3541
+tp3542
+a(S'*** Failers'
+p3543
+S'No match'
+p3544
+tp3545
+a(S'xyzabc'
+p3546
+S'No match'
+p3547
+tp3548
+aaa(lp3549
+S'[\\z\\C]'
+p3550
+ag3
+a(lp3551
+(g1428
+S' 0: z'
+p3552
+tp3553
+a(S'C'
+p3554
+S' 0: C'
+p3555
+tp3556
+aaa(lp3557
+S'\\M'
+p3558
+ag3
+a(lp3559
+(S'M'
+p3560
+S' 0: M'
+p3561
+tp3562
+aaa(lp3563
+S'(a+)*b'
+p3564
+ag3
+a(lp3565
+(S'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+p3566
+S'No match'
+p3567
+tp3568
+aaa(lp3569
+S'\xc5\xe6\xe5\xe4[\xe0-\xff\xc0-\xdf]+'
+p3570
+ag3
+a(lp3571
+(S'\xc5\xe6\xe5\xe4\xe0'
+p3572
+S' 0: \xc5\xe6\xe5\xe4\xe0'
+p3573
+tp3574
+a(S'\xc5\xe6\xe5\xe4\xff'
+p3575
+S' 0: \xc5\xe6\xe5\xe4\xff'
+p3576
+tp3577
+a(S'\xc5\xe6\xe5\xe4\xc0'
+p3578
+S' 0: \xc5\xe6\xe5\xe4\xc0'
+p3579
+tp3580
+a(S'\xc5\xe6\xe5\xe4\xdf'
+p3581
+S' 0: \xc5\xe6\xe5\xe4\xdf'
+p3582
+tp3583
+aaa(lp3584
+S'line\\nbreak'
+p3585
+ag3
+a(lp3586
+(S'this is a line\nbreak'
+p3587
+S' 0: line\nbreak'
+p3588
+tp3589
+a(S'line one\nthis is a line\nbreak in the second line'
+p3590
+S' 0: line\nbreak'
+p3591
+tp3592
+aaa(lp3593
+S'1234'
+p3594
+ag3
+a(lp3595
+(S'123P'
+p3596
+S'No match'
+p3597
+tp3598
+aaa(lp3599
+S'1234'
+p3600
+ag3
+a(lp3601
+(S'123P'
+p3602
+S' 0: 4'
+p3603
+tp3604
+aaa(lp3605
+S'Content-Type\\x3A[^\\r\\n]{6,}'
+p3606
+ag3
+a(lp3607
+(S'Content-Type:xxxxxyyy'
+p3608
+S' 0: Content-Type:xxxxxyyy'
+p3609
+tp3610
+aaa(lp3611
+S'Content-Type\\x3A[^\\r\\n]{6,}z'
+p3612
+ag3
+a(lp3613
+(S'Content-Type:xxxxxyyyz'
+p3614
+S' 0: Content-Type:xxxxxyyyz'
+p3615
+tp3616
+aaa(lp3617
+S'Content-Type\\x3A[^a]{6,}'
+p3618
+ag3
+a(lp3619
+(S'Content-Type:xxxyyy'
+p3620
+S' 0: Content-Type:xxxyyy'
+p3621
+tp3622
+aaa(lp3623
+S'Content-Type\\x3A[^a]{6,}z'
+p3624
+ag3
+a(lp3625
+(S'Content-Type:xxxyyyz'
+p3626
+S' 0: Content-Type:xxxyyyz'
+p3627
+tp3628
+aaa(lp3629
+S'^\\w+=.*(\\\\\\n.*)*'
+p3630
+ag3
+a(lp3631
+(S'abc=xyz\\\npqr'
+p3632
+S' 0: abc=xyz\\\npqr'
+p3633
+tp3634
+aaa(lp3635
+S'^(a()*)*'
+p3636
+ag3
+a(lp3637
+(S'aaaa'
+p3638
+S' 0: aaaa'
+p3639
+tp3640
+aaa(lp3641
+S'^(a()+)+'
+p3642
+ag3
+a(lp3643
+(S'aaaa'
+p3644
+S' 0: aaaa'
+p3645
+tp3646
+aaa(lp3647
+S'(a|)*\\d'
+p3648
+ag3
+a(lp3649
+(S'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+p3650
+S'No match'
+p3651
+tp3652
+a(S'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4'
+p3653
+S' 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4'
+p3654
+tp3655
+aaa(lp3656
+S'.+foo'
+p3657
+ag3
+a(lp3658
+(S'afoo'
+p3659
+S' 0: afoo'
+p3660
+tp3661
+a(S'** Failers'
+p3662
+S'No match'
+p3663
+tp3664
+a(S'\r\nfoo'
+p3665
+S'No match'
+p3666
+tp3667
+a(S'\nfoo'
+p3668
+S'No match'
+p3669
+tp3670
+aaa(lp3671
+S'\\H\\h\\V\\v'
+p3672
+ag3
+a(lp3673
+(S'X X\n'
+p3674
+S' 0: X X\n'
+p3675
+tp3676
+a(S'X\tX\x0b'
+p3677
+S' 0: X\tX\x0b'
+p3678
+tp3679
+a(S'** Failers'
+p3680
+S'No match'
+p3681
+tp3682
+a(S'\xa0 X\n'
+p3683
+S'No match'
+p3684
+tp3685
+aaa(lp3686
+S'\\H{3,4}'
+p3687
+ag3
+a(lp3688
+(S'XY  ABCDE'
+p3689
+S' 0: ABCD'
+p3690
+tp3691
+a(S'XY  PQR ST'
+p3692
+S' 0: PQR'
+p3693
+tp3694
+aaa(lp3695
+S'.\\h{3,4}.'
+p3696
+ag3
+a(lp3697
+(S'XY  AB    PQRS'
+p3698
+S' 0: B    P'
+p3699
+tp3700
+aaa(lp3701
+S'\\h*X\\h?\\H+Y\\H?Z'
+p3702
+ag3
+a(lp3703
+(S'>XNNNYZ'
+p3704
+S' 0: XNNNYZ'
+p3705
+tp3706
+a(S'>  X NYQZ'
+p3707
+S' 0:   X NYQZ'
+p3708
+tp3709
+a(S'** Failers'
+p3710
+S'No match'
+p3711
+tp3712
+a(S'>XYZ'
+p3713
+S'No match'
+p3714
+tp3715
+a(S'>  X NY Z'
+p3716
+S'No match'
+p3717
+tp3718
+aaa(lp3719
+S'\\v*X\\v?Y\\v+Z\\V*\\x0a\\V+\\x0b\\V{2,3}\\x0c'
+p3720
+ag3
+a(lp3721
+(S'>XY\nZ\nA\x0bNN\x0c'
+p3722
+S' 0: XY\nZ\nA\x0bNN\x0c'
+p3723
+tp3724
+a(S'>\n\rX\nY\n\x0bZZZ\nAAA\x0bNNN\x0c'
+p3725
+S' 0: \n\rX\nY\n\x0bZZZ\nAAA\x0bNNN\x0c'
+p3726
+tp3727
+aaa(lp3728
+S' End of testinput7 '
+p3729
+ag3
+a(lp3730
+aa.
\ No newline at end of file



More information about the Pypy-commit mailing list