| changeset 238 | 25d896ada26c | 
| parent 237 | ecda54182ae5 | 
| child 239 | e05032a1c102 | 
| 237:ecda54182ae5 | 238:25d896ada26c | 
|---|---|
1 #!/usr/bin/env python  | 
|
2 import re  | 
|
3 import sys  | 
|
4  | 
|
5 # case of catastrophic backtracking in Python  | 
|
6 #  | 
|
7 # regex: (a*)*b  | 
|
8 # strings: aa...a  | 
|
9 #  | 
|
10 # call with timing as:  | 
|
11 #  | 
|
12 # > time ./catastrophic.py 20  | 
|
13  | 
|
14 # counter n given on the command line  | 
|
15 cn = sys.argv[1]  | 
|
16  | 
|
17 # calling the matching function  | 
|
18 s = ("a" * int(cn))  | 
|
19 m = re.match('(a*)*b' , s)  | 
|
20  | 
|
21 print s  |