2 个回答

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题