| changeset 614 | 3ed8ac396863 | 
| child 701 | 81377a3eb717 | 
| 613:6290d4285cee | 614:3ed8ac396863 | 
|---|---|
1  | 
|
2  | 
|
3  | 
|
4 // A case of catastrophic backtracking in JavaScript/Node.js  | 
|
5 //  | 
|
6 // regex: (a*)*b  | 
|
7 // strings: aa...  | 
|
8 //  | 
|
9 // call with:  | 
|
10 //  | 
|
11 // $> node catastrophic.py 20  | 
|
12 //  | 
|
13 // call with timing as:  | 
|
14 //  | 
|
15 // $> time node catastrophic.py 25  | 
|
16  | 
|
17  | 
|
18 const args = process.argv[2]  | 
|
19  | 
|
20 var str = 'a'.repeat(args);  | 
|
21  | 
|
22 console.log(str)  | 
|
23  | 
|
24 var re = /^((a)*)*b$/;  | 
|
25  | 
|
26 var res = re.test(str);  | 
|
27  | 
|
28 console.log(res)  |