一:什么是正則表達(dá)式
正則表達(dá)式做葵,又稱正規(guī)表示法,是對(duì)字符串操作的一種邏輯公式。正則表達(dá)式可以檢測(cè)給定的字符串是否符合我們定義的邏輯月腋,也可以從字符串中獲取我們想要的特定部分。它可以迅速地用極簡(jiǎn)單的方式達(dá)到字符串的復(fù)雜控制。
二:正則表達(dá)式語法
- ' ^ ' : 表示一個(gè)字符串以什么開始榆骚,即前綴 hasPrefix:
"^one" : 表示已"one"開始片拍, "oneCat" "oneDog" "one123..."
[^123] : 表示不希望[ ]中的任何字符串出現(xiàn) - ' $ ' : 表示一個(gè)字符串以什么結(jié)束,即后綴 hasSuffix:
"Apple$" : 表示以"Apple"結(jié)束妓肢, "6plusApple"
綜合使用:
"^Apple$" : 表示前后都有 "Apple" 字符串
"Apple" : 表示任何包含 "Apple" 的字符串
- ' * ' : 作用于前面一個(gè)字符捌省,表示存在個(gè)數(shù) ' >= 0 '
"ab*" : "a" , "ab" , "abb" , "abbb..." .... - ' + ' : 表示存在個(gè)數(shù) ' >= 1 ', 至少存在一個(gè)
"ab+" : "ab", "abb", "abbb..." .... - ' ? ' : 存在或不存在 , 即 0 | 1
"ab?" : "ab" ,"a"
綜合使用:
"a?b+$": 以 "b.." 或 "ab..." 結(jié)尾的字符串
- " { , } " :表示一個(gè)重復(fù)的具體范圍 碉钠,[可以沒有下限纲缓,不能沒有上限]
"ab{4}" : abbbb
"ab{1,}" : <==> " ab+ "
"ab{0,}" : <==> " ab* "
"ab{0,1}" : <==> " ab? "
"ab{3,5}" : 指有3-5個(gè)b - " [ ] " :表示[ ] 內(nèi)眾多字符中的任意一個(gè)
"[ab]" : <==> " a|b "
"[a-d]" : a-d任意一個(gè) [abcd]
"^[a-zA-Z_]" : 表示必須以字符串或者下劃線開頭 - " | " :表示或
"a|b" : a或者b存在
"(a|bcd)ef" : aef 或 bcdef - " . " : 匹配除 \r \n以外的任何單個(gè)字符
"a.[0-9]" : a后面跟著一個(gè)任意字符和一個(gè)數(shù)字
"^.{5}$" : 任意一個(gè)長(zhǎng)度為5的字符串 - " \num " : num是一個(gè)正整數(shù),表示" \num "之前的字符出現(xiàn)相同的個(gè)數(shù)
"(.)\1" : 表示兩個(gè)連續(xù)的相同的字符
"10{1,2}" : 表示數(shù)字1后面跟著1或者2個(gè)0 ("10","100")喊废。
- 常用的:iOS書寫正則表達(dá)式祝高,遇到轉(zhuǎn)義字符,多加一個(gè)" \ "污筷,"^\d+$"
"\d" : ==> [0-9]
"\D" : ==> [^0-9]
"\w" : ==> [a-zA-Z_]
"\W" : ==> [^a-zA-Z_]