I need to check JS matches for a dynamically generated string.
ie.
for(i=0; i< arr.length; i++)
{
pattern_1="/part of "+arr[i]+" string!/i";
if( string.search(pattern_1) != -1)
arr_num[i]++;
}
However, this code doesn’t work – I presume due to the quotes. How do I do this?
Many thanks.
The
/pattern/literal only works as, well, a literal. Not within a string.If you want to use a string pattern to create a regular expression, you need to create a new RegExp object:
And in that case, you would omit the enclosing frontslashes (
/). These two lines are equivalent: