Alex Rivera | Logout

Javascript Regexp dynamic generation from variables?

Asked 2011-02-23T11:12:29.760
168

How to construct two regex patterns into one?

For example I have one long pattern and one smaller, I need to put smaller one in front of long one.

var pattern1 = ':\(|:=\(|:-\(';
var pattern2 = ':\(|:=\(|:-\(|:\(|:=\(|:-\('
str.match('/'+pattern1+'|'+pattern2+'/gi');

This doesn't work. When I'm concatenating strings, all slashes are gone.

Edit
Report

1 Answer

35

Use the below:

var regEx = new RegExp(pattern1+'|'+pattern2, 'gi');

str.match(regEx);
answered 2011-02-23T11:18:24.793

Your Answer