| 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) |