progs/catastrophic/catastrophic2.py
author Christian Urban <christian.urban@kcl.ac.uk>
Sun, 04 Oct 2020 22:20:25 +0100
changeset 772 b1a8ef39cb35
parent 753 30ea6b01db46
child 984 be2d568644f6
permissions -rwxr-xr-x
update

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

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

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

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

print(s)
print(m)