function extractSummary(iCalContent) {
var rx = /\nSUMMARY:(.*)\n/g;
var arr = rx.exec(iCalContent);
return arr[1];
}
You need these changes:
-
Put the
*
inside the parenthesis as
suggested above. Otherwise your matching
group will contain only one
character. -
Get rid of the
^
and$
. With the global option they match on start and end of the full string, rather than on start and end of lines. Match on explicit newlines instead. -
I suppose you want the matching group (what’s
inside the parenthesis) rather than
the full array?arr[0]
is
the full match ("\nSUMMARY:..."
) and
the next indexes contain the group
matches. -
String.match(regexp) is
supposed to return an array with the
matches. In my browser it doesn’t (Safari on Mac returns only the full
match, not the groups), but
Regexp.exec(string) works.