Next: , Previous: , Up: 使用正規表示式   [Contents]


3.6.2.2 限制出現次數

再來進入第一個特殊的語法,這是用在描述一個字元可以出現多少次的語法。

上面三個符號可以簡單地對一個匹配單元出現幾次做描述,在這些例子中一個匹配單元是一個字元。 這三個符號會盡量匹配到出現次數越多的,也就是說對於文件中的 abbb, ‘ab*’ 會匹配到 abbb,而不是 a, ab, abb。 如果要對出現次數做更精確的描述可以用 ‘\{n,m}’ 的語法。 n 和 m 都是正整數,這代表出現 n 至 m 次。 比如 ‘ab\{1,2}’ 會匹配到 ab, abb。 如果讓 n 或 m 空著,則代表沒有上限或下限。 比如 ‘ab\{1,}’ 會匹配到 ab, abb, abbb, …,也就是 ‘ab\+’ 。 而 ‘ab\{,1}’ 會匹配到 a, ab,也就是 ‘ab\=’ 。 值得一提的是如果只想讓一個匹配單元出現 n 次,不用寫成 ‘\{n,n}’ ,只要寫 ‘\{n}’ 即可。 比如 ‘ab\{2}’ 會匹配到 abb。 上面這些語法都會盡量匹配到出現越多次的,如果想到匹配到出現較少次的,只要在下限前加個 - 即可。 比如對文件中的 abbb, ‘ab\{-1,2}’ 會匹配到 ab 而 ‘ab\{1,2}’ 會匹配到 abb。