Reputation: 16600
This is not what I'm asking for:
concatenate multiple regexes into one regex
Is there a way to append a regex into another one (in JavaScript language) ?
The reason for doing so is to simplify code maintenance (e.g. if the included string is long or easier to maintain by a non-programmer).
In Python, for example, i'd write something like:
regstr1 = 'dogs|cats|mice'
regstr_container = '^animal: (cows|sheep|%s|zebra)$' % regstr1
re.compile(regstr_container)
however, in JavaScript, the regular expression is not a string.
re = /^animal: (rami|shmulik|dudu)$/;
or am I missing something?
Upvotes: 4
Views: 7229
Reputation: 35830
var regstr1 = 'dogs|cats|mice',
regstr_container = '^animal: (cows|sheep|'+ regstr1 +'|zebra)$',
regex = RegExp(regstr_container);
Upvotes: 3
Reputation: 107508
You don't have to use the literal notation. You could instead create a new RegExp object.
var myRegex = new RegExp("^animal: (rami|shmulik|dudu)$");
Upvotes: 6