progs/catastrophic.js
changeset 741 6512884e03b4
parent 740 cdfc278e37b9
child 742 155426396b5f
equal deleted inserted replaced
740:cdfc278e37b9 741:6512884e03b4
     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.js 20
       
    12 //
       
    13 // call with timing as:
       
    14 //
       
    15 //  $> time node catastrophic.js 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)