正則表示式(Regular Expressions)
量符(Quantifier)
- 量符用來指定一組子樣式可以連續匹配幾次,又分為:
- 貪心量符:在指定的匹配次數中,以連續匹配最多次為優先
- 惰性量符:在指定的匹配次數中,以連續匹配最少次為優先
- 量符只作用於量符左邊的1個字符,或左邊的子運算式
貪 心 量 符(Greedy Quantifier) | |||
---|---|---|---|
匹配符號 | 說明 | 範例樣式 | 範例匹配 |
{n} | 連續出現n次 | b{2} | 匹配數量:2 ababbabbb |
{n,} |
連續出現n次或以上 優先匹配出現最多次的字串 |
b{2,} | 匹配數量:2 ababbabbb |
{n,m} | 連續出現n~m次 優先匹配出現最多次的字串 |
b{1,2} | 匹配數量:3 ababbabbb |
* | 不限次數 優先匹配出現最多次的字串 相當於:{0,} |
ab* | 匹配數量:3 ababbabbb |
+ | 重複一次以上 優先匹配出現最多次的字串 相當於:{1,} |
abb+ | 匹配數量:2 ababbabbb |
? | 不出現或出現一次 優先匹配出現1次的字串相當於:{0,1} |
ab? | 匹配數量:3 aabbabbb |
惰 性 量 符(Lazy Quantifier) | |||
---|---|---|---|
匹配符號 | 說明 | 範例樣式 | 範例匹配 |
*? | 不限次數 優先匹配出現最少次的字串 |
ab*? | 匹配數量:2 aabbabbb |
+? |
重複一次以上 優先匹配出現最少次的字串 |
abb+ | 匹配數量:2 aabbabbb |
?? | 不出現或出現一次 優先匹配出現0次的字串 |
ab? | 匹配數量:2 aabbabbb |
{n}? | 連續出現n次 相當於:{n} |
b{2}? | 匹配數量:2 aabbabbb |
{n,}? | 連續出現n次或以上 優先匹配出現最少次的字串 |
b{2,}? | 匹配數量:2 aabbabbb |
{n,m}? | 連續出現n~m次 優先匹配出現最少次的字串 |
b{2,3} | 匹配數量:2 aabbabbb |
-
[a-zA-Z]\d{9} \(\d\d\)\d{3,4}-\d{4} \w+@\w+\.(\w\.?)* \d{4}/\d{1,2}/\d{1,2} 簡單匹配身份証字號 簡單匹配電話號碼 簡單匹配E-Mail 簡單匹配西元日期