Advertisement
rfmonk

re_test_patterns2.py

Jan 2nd, 2014
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.91 KB | None | 0 0
  1. #!/usr/bin/env python
  2.  
  3. import re
  4.  
  5.  
  6. def test_patterns(text, patterns=[]):
  7.     """ Given source text and a list of pattern, look for
  8.    matches for each pattern within the text and print
  9.    them to stdout.
  10.    """
  11.     # Look for each pattern in the text and print the results
  12.     for pattern, desc in patterns:
  13.         print 'Pattern %r (%s)\n' % (pattern, desc)
  14.         print ' %r' % text
  15.         for match in re.finditer(pattern, text):
  16.             s = match.start()
  17.             e = match.end()
  18.             prefix = ' ' * (s)
  19.             print ' %s%r' % (prefix, text[s:e], ' ' * (len(text) - e)),
  20.             print match.groups()
  21.             if match.groupdict():
  22.                 print '%s%s' % (' ' * (len(text) - s),
  23.                                 match.groupdict())
  24.         print
  25.     return
  26.  
  27. if __name__ == '__main__':
  28.     test_patterns('abbaaabbbbaaaaa',
  29.                   [('ab', "'a' followed by 'b'"),
  30.                    ])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement