知識社群登入
or |、子運算式 () subexpression、參考 \n
by 蘇德宙, 2011-04-18 00:01, 人氣(1457)
| : 選擇
/ab|cd/,比對出 ab 或 cd

() : 子運算式,將 () 內的當做一個單位
/java(script)+/,比對出 java,後面有沒有 script 都可以

() : 子樣式 subpattern
var text = "abc123";
/[a-z]+(\d+)/ 則比對出 abc123 後取出 () 內的 123 存入變數 $1, $2, ...
例如,alert(text.replace(/[a-z]+(\d+)/, "-$1-")); // alert "-123-"

\n : 參考子樣式
/['"][^'"]*['"]/ 比對出 "asd' (前後的 ", '  不同)
/(['"])[^'"]*\1/  則前後引號要一致 (注意: 非 ['"] 樣式,而是符合樣式的文字內容)

如果 () 內加 ? 號則不列入參考,例如 /(a)(?:b)(c)/ 中 \2 會參考到 c