How to extract a string using JavaScript Regex?

后端 未结 5 870
梦毁少年i
梦毁少年i 2020-11-30 04:26

I\'m trying to extract a substring from a file with JavaScript Regex. Here is a slice from the file :

DATE:20091201T220000
SUMMARY:Dad\'s birthday

5条回答
  •  盖世英雄少女心
    2020-11-30 04:59

    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.

提交回复
热议问题