重複比對 (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 (不貪心重複比對)