progs/catastrophic2.py
changeset 448 96129128d0f1
child 538 17acdd516ccd
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/progs/catastrophic2.py	Mon Oct 10 14:58:03 2016 +0100
@@ -0,0 +1,20 @@
+#!/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)