一、基本概念
1.什麼是正規表示式 正規表示式,又稱正規表示法,是對字串操作的一種邏輯公式。 正規表示式可以檢測 給定的字串是否符合我們定義的邏輯,也可以從字串中獲取我們想要的特定部分。它可以 迅速地用極簡單的方式達到字串的複雜控制。
2.什麼是謂詞 cocoa框架中的nspredicate用於查詢,原理和用法都類似於sql中的where,作用相當於資料庫的過濾取。 我們可以編寫簡單的謂詞語句,就可以從陣列中過濾出我們想要的資料。
二、案例驗證郵箱
+ (bool)validateemail:(nsstring *)email」; nspredicate *emailtest = [nspredicate predicatewithformat:@」self matches %@」, emailregex]; return [emailtest evaluatewithobject:email];}」2.
驗證**
號碼:(
」([\d
3,4−
)\d7,
8 ](file:///d%7b3,4%7d-)//d%7b7,8%7d)」
)eg:
021−
68686868
0511
−6868686;3.
驗證手機
號碼:」
1[3|
4|5|
7|8]
[0−9
]\d8 」) ;
7.整數或者小數:^[0-9]+([.][0-9]+)8.只
能輸入數
字:」[
0−9]
∗ 」。
9.只能輸入n位的數字:」^\d」。
10.只能輸
入至少n
位的數字
:」\dn
, 」。
11.只能輸入m~n位的數字:」^\d」。
12.只能輸
入零和非
零開頭的
數字:」
(0|[
1−9]
[0−9
]∗) 」。
13.只能輸入有兩位小數的正實數:」^[0-9]+(.[0-9])?」。
14.只能輸
入有13
位小數的
正實數:
」[0−
9]+(
.[0−
9]1,
3)? 」。
15.只能輸入非零的正整數:」^+?[1-9][0-9]*」。
16.只能輸
入非零的
負整數:
」−[1
−9][
]0−9
″∗。
17.只能輸入長度為3的字元:」^.」。
18.只能輸
入由26個
英文本母
組成的字
符串:」
[a−z
a−z]
+ 」。
19.只能輸入由26個大寫英文本母組成的字串:」^[a-z]+」。
20.只能輸
入由26個
小寫英文
字母組成
的字串
:」[a
−z]+
」。 21.驗證是否含有^%&』,;=?
\」等字元:」[^%&',;=?
\x22]+」。
22.只能輸入漢字:」^[\u4e00-\u9fa5]$」。
23.驗證url:」^http://([\w-]+.)+[\w-]+(/[\w-./?%&=]*)?」。
24.驗證一
年的12個
月:」(
0?[1
−9]|
1[0−
2]) 」正確格式為:」01″~」09″和」10″~」12″。
25.驗證乙個月的31天:」^((0?[1-9])|((1|2)[0-9])|30|31)$」正確格式為;」01″~」09″、」10″~」29″和「30」~「31」。
26.獲取日期正規表示式:\d[年|-|.]\d[月|-|.]\d日?評注:可用來匹配大多數年月日資訊。
27.匹配雙位元組字元(包括漢字在內):[^\x00-\xff]評注:可以用來計算字串的長度(乙個雙位元組字元長度計2,ascii字元計1)
28.匹配空白行的正規表示式:\n\s*\r 評注:可以用來刪除空白行
29.匹配html標記的正規表示式:<(\s*?)>.?|<.*? /> 評注:網上流傳的版本太糟糕,上面這個也僅僅能匹配部分,對於複雜的巢狀標記依舊無能為力
30.匹配首尾空白字元的正規表示式:^\s*|\s*評注
:可以用
來刪除行
首行尾的
空白字元
(包括空
格、製表
符、換頁
符等等)
,非常有
用的表達
式31.匹配
**ur
l的正則
表示式:
[a−z
a−z]
+://
[\s]∗
評注:網
上流傳的
版本功能
很有限,
上面這個
基本可以
滿足需求
32.匹配帳
號是否合
法(字母
開頭,允
許5−16
位元組,允
許字母數
字下劃線
):[a
−za−
z][a
−za−
z0−9
]4,15
評注:可以用來刪除行首行尾的空白字元(包括空格、製表符、換頁符等等),非常有用的表示式
學習**:
1.ios 正規表示式之—謂詞
2.oc學習篇之—謂詞(nspredicate)
3.驗證手機號–詳細的判斷方法
4.正規表示式在ios中應用
5.用正規表示式驗證資訊是否正確
6.【正規表示式】正規表示式介紹
很多**都很詳細,像謂詞的陣列刪選,以及謂詞與正規表示式的配合都有,挑選一些**。以便後續查詢方便,利用查閱。
補充:
匹配**url的正規表示式
oc正規表示式
在電腦科學中,是指乙個用來描述或者匹配一系列符合某個句法規則的字串的單個字串。在很多文字編輯器或其他工具裡,正規表示式通常被用來檢索和 或替換那些符合某個模式的文字內容。許多程式語言都支援利用正規表示式進行字串操作。正規表示式用於字串處理 表單驗證等場合,實用高效。現將一些常用的表示式收集於此,以備...
OC 正規表示式
常用的第三方正則庫 這裡面涉及到的正規表示式語法 d 匹配任何乙個數字,即 0 9 d 表示1個以上的數字 d 強行加上小括號,分組,相當把這個值緩衝起來,在 裡用 mystring substringwithrange match rangeatindex 1 可以提取出來回合數 表示小句點 s ...
正規表示式 02
捕獲組也就是pattern中以括號對 分割出的子pattern。至於為什麼要用捕獲組呢,主要是為了能找出在一次匹配中你更關心的部分。group 0 於group 等價,表示整個正規表示式的匹配字串,group 1 等價於第乙個括號內的表示式返回的字串,以此類推。捕獲組可以通過從左到右計算其開括號來編...