iOS開發 正則運算

2022-05-13 05:17:35 字數 2283 閱讀 1077

regular expression 描述了一種字串匹配的模式,可以用來檢查乙個串是否含有某種子串、將匹配的子串做替換或者從某個串中取出符合某個條件的子串等,而在ios 中我們多數用於檢查字串是否符合規則

(1).使用者名稱

"^[a-za-z][a-za-z0-9_]$" (由6-16位字母數字下劃線組成,第一位不能為數字或下劃線) 

[a-za-z] 表示第一位為字母 ;

[a-za-z0-9] 表示字元為字母數字或者下滑線;

表示有5到15個符合[a-za-z0-9]的字元

(2).密碼

"^(?![0-9])[\\s]$"  ( 6-24位,不能為純數字,不能包含空格)

(?![0-9]$) 表示前24位不能全為數字

\s 表示任何非空白字元(不為空格,回車,tab等輸入的空白符)

[\\s] 表示6到24位不為空格的字元

(3).手機號

"^1[3|4|5|7|8][0-9]$" (只是乙個大概,不能完全精確篩選)

1 表示第一位為1

[3|4|5|7|8] 表示第二位為 3,4,5,6,7,或者8

[0-9] 表示9位任意數字

(4).email

"^[a-za-z0-9_-]+(.[a-za-z0-9_-]+)*@[a-za-z0-9_-]+.com(.cn)?$"  (格式 使用者名稱@郵箱**.com   或   使用者.名@郵箱**.com.cn )

[a-za-z0-9_-]+ 表示1位或多位字母數字下劃線和連線符

(.[a-za-z0-9_-]+)* 表示 0個或多個 由乙個點.和乙個或多個字母數字下劃線連線符組成的字串

檢查字串是否符合要求

/**

* 檢查字串是否符合正則表達是

* * @param string 需要檢查的字串

* @param regex 正則表達是

* * @return 符合返回yes 不符返回no

*/- (bool) predicatestring:(nsstring *)string withregularexpreess:(nsstring *)regex

如:檢查是字串否符合 (6-24位,不能為純數字,不能包含空格) 的規則

nsstring *regulerexp = @"^(?![0-9]$)[\\s]$";

bool result = [self predicatestring:_textfield.text withregularexpreess:regulerexp];

^     用在表示式的開頭表示乙個正則表達是的開始

$ 表示字串的結尾

中的表示式限定乙個字元

如: ^[a-z]:限定為小寫字母 [a-z]:限定為大寫字母 [0-9]:限定為數字

() 限定乙個子串

如: ^([a-z])([0-9]) 表示 由4個小寫字母後邊接三個數字構成的字串 即,abcd332 adfd453 等

m個符合限定的字元

如: ^[a-z] 表示由三個小寫字母構成的字串 即 add bcd ade 等

大於或等於m個符合限定的字元

如: ^[a-z] 表示由三個以上小寫字母構成的字串 即, acd ,bcd , adsf, sadfasdfasdf, 等

m到n個符合限定的字元

如: ^[a-z] 表示3到5個小寫字母構成的字串 即, adb adsb asdfd 等

* 表示0個或多個 符合限定的字元

如:^[a-z]* 表示有0個或多個小寫字母構成的字串

? 表示0個或乙個 符合限定的字元

+ 表示乙個或多個 符合限定的字元

注意: 沒有限定符標記的即為單字元 , 其中 m ,n 為非負整數,n > m

[^ ] ^在裡邊代表非得意思

如: ^[^a-z] 表示除了乙個小寫字母外的字元

| 或

如: ^[a-z]|[0-9] 表示乙個小寫字母或者數字

?= 用圓括號包括,表示檢查符合括號內規則的字元 如: (?= [0-9]) 表示前7位全為數字

?! 用圓括號包括,表示檢查不符合括號內規則的字元 如: (?! [0-9]) 表示前7位不全為數字

擴充套件學習

iOS開發中各種正則匹配

做專案的時候避免不了要用各種的正則匹配,抽空整理了一下,話不多說了,直接上 正則匹配手機號 1.bool checktelnumber nsstring telnumber nspredicate pred nspredicate predicatewithformat self matches p...

正規表示式 iOS開發

a.正規表示式 正規表示式使 用單個字串來描述 匹配 一系列符合某個句法規則的字串。在很多 文字編輯器 裡,正規表示式通常被 用來檢索 替換那些 符合某個模式的 文字。b.原義 文字字元 正常的 文字字元。c.元字元 具有特殊意義的專 用字元,是代替正常 文字字元的字元。d.限定符 限定匹配的數量或...

iOS開發 正規表示式

正規表示式是一種用來進行文字匹配的工具,其語法優美簡潔。在開發中,查詢 對比以及匹配字串是家常便飯的業務,通過正規表示式我們將這些業務描述成某些需求規則,來讓我們的 更美觀 實用。例如我們要驗證使用者輸入的密碼長度是否滿足6 18位的長度,新手最常見的驗證方式是判斷輸入的密碼長度 return te...