2 个回答

+是量词,表示匹配1到多次,默认是贪婪匹配,在量词后面紧跟?表示非贪婪匹配。

/\{\{((?:.|\n)+?)\}\}/
\{\{\}\}匹配{{}};
(?:.|\n)中,.匹配换行符以外的字符,因为有的系统的换行符是\r\n(thanks @小皇帝James ),所以.|\n匹配除了\r之外的任意字符,?:表示非捕获型括号,所以整个的就是匹配任意一个非\r的字符;
(?:.|\n)+?匹配至少一个字符;
所以整个表达式匹配首先是{{,然后至少一个非\r的字符,最后是}}

推荐问题