1
我開始與this正則表達式:爲什麼RegEx必須用括號括起來才能匹配?
/<!--#\s*include\s+file=(['"])([^\r\n]+?)\1\s*-->/g
而且我想它來搭配這兩個行:
<!--#include file="../header.html"-->
<!--#include virtual="../header.html"-->
在我第一次嘗試,我改變了file
到(file|virtual)
像這樣:
/<!--#\s*include\s+(file|virtual)=(['"])([^\r\n]+?)\1\s*-->/g
但是,這並不符合任何東西。一點點玩耍後,我發現,添加括號周圍的一切會得到一個匹配:
/(<!--#\s*include\s+(file|virtual)=(['"])([^\r\n]+?)\1\s*-->)/g
我不明白爲什麼,但 - 爲什麼沒有第一修改比賽,爲什麼做多餘的括號修復?