KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I want to match a portion of a string using a regular expression and then access that parenthesized substring: var myString = "something format_abc"; // I want "abc" var arr = /(?:^|\s)format_(.*?)(?:\s|$)/.exec(myString); console.log(arr); // Prints: [" format_abc", "abc"] .. so far so good. console.log(arr[1]); // Prints: undefined (???) console.log(arr[0]); // Prints: format_undefined (!!!) What am I doing wrong? I've discovered that there was nothing wrong with the regular expression code above: the actual string which I was testing against was this: "date format_%A" Reporting that "%A" is undefined seems a very strange behaviour, but it is not directly related to this question, so I've opened a new one, Why is a matched substring returning "undefined" in JavaScript? . The issue was that console.log takes its parameters like a printf statement, and since the string I was logging ( "%A" ) had a special value, it was trying to find the value of the next parameter.
Tags (comma-separated)
Save Edits
Cancel