Javascript String.replace with dynamic regular expressions?

前端 未结 4 1319
清酒与你
清酒与你 2020-12-30 22:50

I have the following code, which works, but I need to inject some different stuff into the regular expression object (regex2) at runtime. However, text.replace

相关标签:
4条回答
  • 2020-12-30 23:29
    var value = "2012-09-10";
    value = value.replace(/([0-9]{4})[\/-]([0-9]{2})[\/-]([0-9]{2})/,"$3/$2/$1");
    alert(value);
    

    this will show

    10/09/2012
    
    0 讨论(0)
  • 2020-12-30 23:34

    You can make a regular expression object from a string using the RegExp constructor function:

    var regExp = new RegExp(myString);  // regex pattern string
    
    text.replace(regExp, '');
    
    0 讨论(0)
  • 2020-12-30 23:53

    you can use eval to,

    new RegExp( eval("/"+str+"/i") );
    

    bye...

    0 讨论(0)
  • 2020-12-30 23:56

    Addition to CMS: The RegExp constructor has an second optional parameter flags
    (15.10.4 The RegExp Constructor)

    var text = "This is a Test.";
    
    var myRegExp = new RegExp('teST','i');
    
    text.replace(myRegExp,'Example');
    // -> "This is a Example."
    

    as Flags you can set

    • g -> global search (all occurrences)
    • i -> case insensitive
    • m -> multiline
    0 讨论(0)
提交回复
热议问题