2012-01-04 7 views
1
var txtpattern = '/[a-z]+/'; 
var regex = new RegExp(txtpattern); 
var result = txtstring.match(regex); //returns null 
var result = txtstring.match(/[a-z]+/); //returns some value 

私のクエリは、一致引数に動的パターンを設定する方法はありますか?Regexpの動的パターンを設定しました

+2

はい、。 'txtpattern'の式が正しくないと思います。たぶん、式の一部ではない*/'が含まれているかもしれません。あなたはそれらを省略しなければなりません。あるいは '' \ ''を適切にエスケープしていませんでした。しかし、 'textpattern'の値を見ることなく、これらは単なる推測です。 –

+0

更新について:最初の式は '/ [a-z] + /'で、2番目の式は '[a-z] +'です。 '/.../'は正規表現リテラルを表しています。 '[...]'は配列リテラルを表します。つまり、それらはあなたの式の一部ではありません。 –

答えて

7

new Regex()を使用して、あなたはそのようなスタートを削除し、/文字を終了する必要があります:あなたはそれをしなかった正確にどのよう

var txtpattern = '[a-z]+'; 
var regex = new RegExp(txtpattern); 
var result = txtstring.match(regex); 
関連する問題