diff -r ee39fd6df150 -r dadb5a94728d progs/catastrophic/catastrophic.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/progs/catastrophic/catastrophic.py Tue Nov 18 11:33:20 2025 +0000 @@ -0,0 +1,22 @@ +#!/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.fullmatch('(a*)*b' , s) + +print(s) +print(bool(m))