iOS之常用的正则表达式
? ? ? ?正則表達式(Regular Expression,在代碼中常簡寫為regex、regexp或RE)是計算機科學的一個概念。正則表達式使用單個字符串來描述、匹配一系列符合某個句法規則的字符串。在很多文本編輯器里,正則表達式通常被用來檢索、替換那些符合某個模式的文本。許多程序設計語言都支持利用正則表達式進行字符串操作。
? ? ? ?正則表達式用于字符串處理、表單驗證等場合,實用高效?,F將一些常用的表達式收集于此,以備不時之需。
一、正則表達式匹配特定的數字?
1、匹配正整數:^[1-9]d*$?
2、陪陪負整數:?^-[1-9]d*$
3、匹配整數:^-?[1-9]d*$
4、匹配非負整數(正整數和0):^[1-9]d*|0$
5、匹配非正整數(負整數和0):^-[1-9]d*|0$
6、匹配正浮點數:^[1-9]d*.d*|0.d*[1-9]d*$
7、匹配負浮點數?:^-([1-9]d*.d*|0.d*[1-9]d*)$
8、匹配浮點數:^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$
9、匹配非負浮點數(正浮點數和0):^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$
10、匹配非正浮點數(負浮點數和0):^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$
二、正則表達式匹配特定字符串
1、匹配由26個英文字母組成的字符串?:^[A-Za-z]+$
2、匹配由26個英文字母的大寫組成的字符串?:^[A-Z]+$
3、匹配由26個英文字母的小寫組成的字符串?:^[a-z]+$
4、匹配由數字和26個英文字母組成的字符串?:^[A-Za-z0-9]+$
5、匹配由數字,26個英文字母或者下劃線組成的字符串?:^w+$
6、匹配雙字節字符(包括漢字在內):[^x00-xff]?
7、匹配中文字符的正則表達式: [u4e00-u9fa5]
8、匹配HTML標記的正則表達式:<(S*?)[^>]*>.*?|<.*? />
9、匹配空白行的正則表達式:\n\s*\r
10、匹配首尾空白字符的正則表達式:^\s*|\s*$
三、正則表達式匹配常用的功能邏輯
?
1、匹配Email地址的正則表達式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
2、匹配網址URL的正則表達式:[a-zA-z]+://[^s]*
3、匹配帳號是否合法(字母開頭,允許5-16字節,允許字母數字下劃線):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
4、匹配國內電話號碼:d{3}-d{8}|d{4}-d{7}?
5、匹配騰訊QQ號:[1-9][0-9]{4,}?(騰訊QQ號從10000開始)
6、匹配中國郵政編碼:[1-9]d{5}(?!d)?(中國郵政編碼為6位數字)
7、匹配身份證:d{15}|d{18}?(中國國民的身份證號碼為15位或者18位)
8、驗證用戶密碼:“^[a-zA-Z]w{5,17}$”,正確格式為:以字母開頭,長度在6-18之間,只能包含字符、數字和下劃線
9、驗證是否含有^%&'',;=?$"等字符:“[^%&'',;=?$x22]+”?
10、驗證一年的12個月:“^(0?[1-9]|1[0-2])$”(正確格式為:“01”-“09”和“1”“12”?)
11、驗證一個月的31天:“^((0?[1-9])|((1|2)[0-9])|30|31)$”?(正確格式為:“01”“09”和“1”“31”)
12、驗證密碼為6~10位,并且只含有字母和數字:
? ? '/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,10}$/'
注釋:(^?匹配一行的開頭位置;(?![0-9]+$)?預測該位置后面不全是數字;(?![a-zA-Z]+$)?預測該位置后面不全是字母;[0-9A-Za-z]?{6,10}?由6-10位數字或這字母組成;$?匹配行結尾位置)
13、驗證手機號碼的正確性的正則表達式:
?
rege"^1(3[0-9]|4[57]|5[0-35-9]|8[0-9]|7[06-8])\\d{8}$"
?
?
?
總結
以上是生活随笔為你收集整理的iOS之常用的正则表达式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iOS之界面传值(通知,属性,协议,NS
- 下一篇: iOS之“微信支付”开发流程