在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java  HTML/ /\{\{((?:.|\n)+?)\}\}/這個正則匹配什么 前面的“?”是非

/\{\{((?:.|\n)+?)\}\}/這個正則匹配什么 前面的“?”是非貪婪模式嗎

這個+和?同時出現(xiàn)是什么情況呢

回答
編輯回答
淺淺

+是量詞,表示匹配1到多次,默認是貪婪匹配,在量詞后面緊跟?表示非貪婪匹配。

/\{\{((?:.|\n)+?)\}\}/
\{\{\}\}匹配{{}};
(?:.|\n)中,.匹配換行符以外的字符,因為有的系統(tǒng)的換行符是\r\n(thanks @小皇帝James ),所以.|\n匹配除了\r之外的任意字符,?:表示非捕獲型括號,所以整個的就是匹配任意一個非\r的字符;
(?:.|\n)+?匹配至少一個字符;
所以整個表達式匹配首先是{{,然后至少一個非\r的字符,最后是}}。

2017年1月19日 02:23