知識社群登入
重複比對 (Repetition) {n, m}, *, +
by 蘇德宙, 2011-04-17 23:31, 人氣(1374)
REF: http://www.regular-expressions.info/repeat.html

{n, m}: 至少 n 次,但不超過 m 次
{n,  }: n 次以上
{n}   : 剛好 n 次
     ?: 比對前面的項目 0 或 1 次,{0,1}
     +: 1 次或 1 次以上,{1,}
     *: 0 次或 0 次以上,{0,}

範例
   /\d{2,4}/: 2 位數到 4 位數之間的數字
  /\w{3}\d?/: 3 個字元和一個選擇性的數字
/\s+java\s+/: java 前後再加上一個或多個空白
     /[^"]*/: 0 個或 0 個以上非引號的字元

*, ? 的注意事項
/a*/ 也會比對出 bbbb,因為含有 0 個以上的 a


不貪心重複比對 (ungreedy / reluctant) with ?
var text = "aaa";
/a+/ 比對出 aaa
/a+?/ 比對出 a (不貪心重複比對)