changeset 614 | be065677c8f1 |
child 701 | 681c36b2af27 |
613:bfd511b7ecbf | 614:be065677c8f1 |
---|---|
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) |