I’d like a JavaScript regular expression that can match a string either at the start of another string, or after a hyphen in the string.
For example, “milne” and “lee” and “lees” should all match “Lees-Milne”.
This is my code so far:
var name = "Lees-Milne";
var text = "lee";
// I don't know what 'text' is ahead of time, so
// best to use RegExp constructor.
var re = RegExp("^" + text | "-" + text, "i");
alert(re.exec(name.toLowerCase()));
However, this returns null. What am I doing wrong?
You could also use:
Don’t forget to escape regex meta characters in
textif it’s not an expression it self.JavaScript has no built in function for that, but you could use: