progs/catastrophic2.py
author cu
Tue, 03 Oct 2017 23:01:06 +0100
changeset 512 a6aa52ecc1c5
parent 448 96129128d0f1
child 538 17acdd516ccd
permissions -rwxr-xr-x
updated

#!/usr/bin/env python
import re
import sys

# case of catastrophic backtracking in Python
#
# regex: (a*)*b
# strings: aa...a
#
# call with timing as:
#
#   > time ./catastrophic.py 20

# counter n given on the command line
cn = sys.argv[1]

# calling the matching function
m = re.match('(a*)*b' , "a" * int(cn)) 

print m.group(0)