全網最易懂的正則表達式教程(3)- 量詞

正則詳細教程系列可以看此鏈接的文章哦

//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