Skip to content

Instantly share code, notes, and snippets.

@nightfly19
Created August 7, 2016 18:31
Show Gist options
  • Save nightfly19/1fd1f5a6060ececc908b66d6bebf2783 to your computer and use it in GitHub Desktop.
Save nightfly19/1fd1f5a6060ececc908b66d6bebf2783 to your computer and use it in GitHub Desktop.
Weird Javascript Regex behavior
#!/usr/bin/nodejs
//var regexRegex = /^\/([^\/]|(\\\/))*\/[gimy]*/;
var regexRegex = /^\/([^\/]|(\\\/))*\/[gimy]*/;
var regexRegexAsString = '^/([^\/]|(\\/))*/[gimy]*';
var notQuiteRegexRegex = /^"([^\/]|(\\"))*"[gimy]*/;
var notQuiteRegexSearchString = '"hello world\\" hows it going?"igmyi';
var regexSearchString = notQuiteRegexSearchString.replace(/"/g,'/');
console.log("Not quite regex (deliminated by \"):");
console.log(notQuiteRegexSearchString);
console.log(notQuiteRegexRegex.exec(notQuiteRegexSearchString)[0]);
console.log();
console.log("Real regex (deliminated by /):");
console.log(regexSearchString);
console.log(regexRegex.exec(regexSearchString)[0]);
console.log();
console.log("Real regex (deliminated by /):");
console.log(regexSearchString);
console.log(new RegExp(regexRegexAsString).exec(regexSearchString)[0]);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment