Je n'ai pas tout à fait d'accord avec le "eval" option.
var xxx = /abcd/;
var yyy = /efgh/;
var zzz = new RegExp(eval(xxx)+eval(yyy));
donnera "//abcd//efgh//", ce qui n'est pas le résultat escompté.
L'aide de la source comme
var zzz = new RegExp(xxx.source+yyy.source);
donnera "/abcdefgh/" et que c'est correct.
Logicaly il n'est pas nécessaire d'ÉVALUER, vous savez que votre EXPRESSION. Vous avez juste besoin de la SOURCE ou de la façon dont il est écrit pas nécessairement sa valeur. Comme pour les drapeaux, il vous suffit d'utiliser l'argument optionnel de RegExp.
Dans ma situation, je dois courir à la question de l' ^ et $ utilisé dans plusieurs expression je suis en train de concaténer ensemble! Ces expressions sont la grammaire filtres utilisés à travers le programme. Maintenant, je wan pas pour les utiliser ensemble pour traiter le cas des PRÉPOSITIONS.
J'ai peut-être à "découper" les sources de supprimer le début et la fin ^( et/ou )$ :)
Cheers, Alex.