Advertisement
rfmonk

re_test_patterns.py

Dec 31st, 2013
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.81 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.             substr = text[s:e]
  19.             n_backslashes = text[:s].count('\\')
  20.             prefix = '.' * (s + n_backslashes)
  21.             print ' %s%r' % (prefix, substr)
  22.         print
  23.     return
  24.  
  25. if __name__ == '__main__':
  26.     test_patterns('abbaaabbbbaaaaa',
  27.                   [('ab', "'a' followed by 'b'"),
  28.                    ])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement