Related: Regex - Match whole string
I want a given regexp to match the whole string. For example, when given a regexp /abc/
, it should only match string "abc"
but not "abcd"
. I have searched the above question, which has somehow a similar situation than mine. The difference here is that the regexp is not directly written in my code. So I can't change /abc/
to /^abc$/
directly in the source code.
Let's say, I want a function which takes two arguments: a 'regexp' (e.g. /abc/
) and a string
(e.g. 'abc'
). The function returns matched result if and only if the given regexp matches the whole string, but returns null
otherwise.
What I'm trying:
function match(regexp, string) {
var parse = /\/(.*)\/(.*)/.exec(regexp);
var reg = new RegExp('^' + parse[1] + '$', parse[2]);
return string.match(reg);
}
Is this code correct? Any better way to do so?