正則詳細教程系列可以看此鏈接的文章哦
https://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
匹配文本 | yy1_菠 |
正則表達式 | .1* |
匹配數量 | 4 |
匹配結果 | y、y1、_、菠 |
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? |
匹配數量 | 6 |
匹配結果 | y、y、1、2、空、空 |
second
匹配文本 | yy_12菠蘿 |
正則表達式 | ._?.* |
匹配數量 | 1 |
匹配結果 | yy_12菠蘿 |
_ 可有可無
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} |
匹配數量 | 3 |
匹配結果 | 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,} |
匹配數量 | 3 |
匹配結果 | 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} |
匹配數量 | 3 |
匹配結果 | 023-81200222 023-81200223 023-81200224 |