全網最易懂的正則表達式教程(3)- 量詞
- 2020 年 7 月 1 日
- 筆記
- 正則表達式, 測試必知必會系列 - 正則表達式
正則詳細教程系列可以看此鏈接的文章哦
//www.cnblogs.com/poloyy/category/1796055.html
量詞(限定符)
代碼/語法 | 說明 |
---|---|
* | 重複 0 次或更多次 |
+ | 重複 1 次或更多次 |
? | 重複零次或一次 |
{n} | 重複n次 |
{n,} | 重複n次或更多次 |
{n,m} | 重複n到m次 |
- 簡單來說,限定符就是可以讓元字符重複匹配
- 畢竟每個元字符只能匹配一個字符,如果要匹配 100 個字符,難道要寫 100 個元字符嗎
- 這個時候用上元字符 + 限定符就可以解決這個問題了
* 的栗子
應該是最常用的限定符了
first
匹配文本 | yy12菠蘿 |
正則表達式 | \w* |
匹配數量 | 1 |
匹配結果 | yy12 |
second
匹配文本 | yy12_菠蘿 |
正則表達式 | .1* |
匹配數量 | 1 |
匹配結果 | yy12_菠蘿 |
third
匹配文本 | yy_菠蘿 |
正則表達式 | \d*\w* |
匹配數量 | 1 |
匹配結果 | yy_ |
+ 的栗子
first
匹配文本 | yy12菠蘿 |
正則表達式 | \w+ |
匹配數量 | 1 |
匹配結果 | yy12 |
second
匹配文本 | yy1112菠蘿 |
正則表達式 | .1+ |
匹配數量 | 1 |
匹配結果 | y111 |
記住,限定符只對它前面一個元字符生效,這裡是 1 ,所以是匹配一個 1 或者多個 1
third
匹配文本 | yy_菠蘿 |
正則表達式 | \d+\w+ |
匹配數量 | 0 |
原因 | \d 起碼需要匹配到一個數字,但沒有 |
? 的栗子
first
匹配文本 | yy12菠蘿 |
正則表達式 | \w? |
匹配數量 | 1 |
匹配結果 | yy12 |
second
匹配文本 | yy12菠蘿 |
正則表達式 | ._?.* |
匹配數量 | 1 |
匹配結果 | yy12菠蘿 |
_ 可有可無
third
匹配文本 | yy_121_2菠蘿 |
正則表達式 | \d?. |
匹配數量 | 7 |
匹配結果 | y、y、_ 、12、1_ 、2菠、蘿 |
{n} 的栗子
first
匹配文本 | yy12菠蘿測試 |
正則表達式 | y{2}\d{1}\w.{2} |
匹配數量 | 1 |
匹配結果 | yy12菠蘿 |
second
匹配文本 | 13501489999 |
正則表達式 | ^135\d{8}$ |
匹配數量 | 1 |
匹配結果 | 13501489999 |
third
匹配文本 | 023-81200222、023-81200223、023-81200224 |
正則表達式 | 0\d{2}-\d{8} |
匹配數量 | 1 |
匹配結果 |
023-81200222 023-81200223 023-81200224 |
{n,} 的栗子
first
匹配文本 | poloyy |
正則表達式 | y{1,} |
匹配數量 | 1 |
匹配結果 | yy |
second
匹配文本 | 13501489999 |
正則表達式 | ^135\d{1,}$ |
匹配數量 | 1 |
匹配結果 | 13501489999 |
third
匹配文本 | 023-81200222、023-81200223、023-81200224 |
正則表達式 | 0\d{1,}-\d{1,} |
匹配數量 | 1 |
匹配結果 |
023-81200222 023-81200223 023-81200224 |
{n,m} 的栗子
first
匹配文本 | poloyy菠蘿 |
正則表達式 | yy菠1{0,1} |
匹配數量 | 1 |
匹配結果 | yy菠 |
second
匹配文本 | 13501489999 |
正則表達式 | ^135\d{1,8}$ |
匹配數量 | 1 |
匹配結果 | 13501489999 |
third
匹配文本 | 023-81200222、023-81200223、023-81200224 |
正則表達式 | 0\d{1,2}-\d{1,8} |
匹配數量 | 1 |
匹配結果 |
023-81200222 023-81200223 023-81200224 |