2009-08-23 6 views
2

これは私が求めているものをないである。別の1 に正規表現を追加する方法は(ジャバスクリプト言語で)があるjavascriptで正規表現を連結する方法は?

concatenate multiple regexes into one regex

これを行う理由は、コードメンテナンスを簡略化するためです(たとえば、プログラマ以外の人がメンテナンスするのが長くても簡単な場合など)。正規表現は、文字列ではありませんが、JavaScriptで

regstr1 = 'dogs|cats|mice' 
regstr_container = '^animal: (cows|sheep|%s|zebra)$' % regstr1 
re.compile(regstr_container) 

:Pythonで

は、例えば、私は次のように記述します。

re = /^animal: (rami|shmulik|dudu)$/; 

または何か不足していますか?

+0

。それを削除しなかったので、私が使ったキーワードを使用する他の人はこのリンクにアクセスします:http://stackoverflow.com/questions/185510/how-can-i-concatenate-regex-literals-in-javascript –

答えて

5

リテラル表記を使用する必要はありません。代わりに、新しいRegExpオブジェクトを作成することができます。私はこの質問を閉じた

var myRegex = new RegExp("^animal: (rami|shmulik|dudu)$"); 
+0

+ 1、そしてあなたはプレースホルダを作ることができます:container = "...(牛|羊| {BLAH} |ゼブラ).."; var re = new Regexp(container.replace( "{BLAH}"、regstr1); – orip

2
var regstr1 = 'dogs|cats|mice', 
regstr_container = '^animal: (cows|sheep|'+ regstr1 +'|zebra)$', 
regex = RegExp(regstr_container);