I know there are many questions about variables in regex. Some of them for instance:
- concat variable in regexp pattern
 - Variables in regexp
 - How to properly escape characters in regexp
 - Matching string using variable in regular expression with $ and ^
 
Unfortunately none of them explains in detail how to escape my RegExp.
Let's say I want to find all files that have this string before them:
file:///storage/sdcard0/
I tried this with regex:
(?:file:\/\/\/storage\/sdcard0\(.*))(?:\"|\')
which correctly got my image1.jpg and image2.jpg in certain json file. (tried with http://regex101.com/#javascript)
For the life of me I can't get this to work inside JS. I know you should use RegExp to solve this, but I'm having issues.
var findStr =  "file:///storage/sdcard0/";
var regex =  "(?:"+ findStr +"(.*))(?:\"|\')";
var re = new RegExp(regex,"g"); 
var result = <mySearchStringVariable>.match(re);
With this I get 1 result and it's wrong (bunch of text). I reckon I should escape this as said all over the web.. I tried to escape findStr with both functions below and the result was the same. So I thought OK I need to escape some chars inside regex also.
I tried to manually escape them and the result was no matches.
I tried to escape the whole regex variable before passing it to RegExp constructor and the result was the same: no matches.
function quote(regex) {
  return regex.replace(/([()[{*+.$^\\|?])/g, '\\$1');
}   
function escapeRegExp(str) {
    return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&");
}   
What the hell am I doing wrong, please?
Is there any good documentation on how to write RegExp with variables in it?