2017-10-19 15 views
0

作成する方法:正規表現動的正規表現を作成するには、どのように動的に

をIハードコードされた値core.UIを持って、次の正規表現は、私が代わりに変数を使用したいです。

test({ 
    storyKindRegex: /^core.UI$/, 
}) 

は、私は今、これをしようとしていますが、それは

var value = 'core.UI' 


    test({ 
      storyKindRegex: /${value }/, 
     }) 
+1

'RegExp'を使用して文字列から作成します。 2番目の例は、https://developer.mozilla.org/docs/Web/JavaScript/Guide/Regular_Expressionsを参照してください。 – Yoshi

答えて

0

//two utilities 
 
const replace = (search, replacement) => haystack => String(haystack).replace(search, replacement); 
 
const escapeRegex = replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&'); 
 

 
//example 
 
let str = "core.UI"; 
 
let regex = new RegExp("^" + escapeRegex(str) + "$"); 
 

 
console.log("string:", str); 
 
console.log("Regex:", regex);
.as-console-wrapper{top:0;max-height:100%!important}

はところで、あなたがドットをエスケープするのを忘れては動作しません。