iOS中常用的正規表示式

2021-09-22 17:03:06 字數 2432 閱讀 1521

在編寫處理字串的程式或網頁時,經常會有查詢符合某些複雜規則的字串的需要。正規表示式就是用於描述這些規則的工具。換句話說,正規表示式就是記錄文字規則的**。

很可能你使用過windows/dos下用於檔案查詢的萬用字元(wildcard),也就是*和?。如果你想查詢某個目錄下的所有的word文件的話,你會搜尋*.doc。在這裡,*會被解釋成任意的字串。和萬用字元類似,正規表示式也是用來進行文字匹配的工具,只不過比起萬用字元,它能更精確地描述你的需求——當然,代價就是更複雜——比如你可以編寫乙個正規表示式,用來查詢所有以0開頭,後面跟著2-3個數字,然後是乙個連字型大小「-」,最後是7或8位數字的字串(像010-12345678或0376-7654321)。

嘿嘿嘿!正規表示式小王我也是略懂皮毛。只會些簡單的。

/郵箱

+ (bool) validateemail:(nsstring *)email

"; nspredicate *emailtest = [nspredicate predicatewithformat:@"self matches %@", emailregex];

return [emailtest evaluatewithobject:email];

}//手機號碼驗證

+ (bool) validatemobile:(nsstring *)mobile

$"; nspredicate *phonetest = [nspredicate predicatewithformat:@"self matches %@",phoneregex];

return [phonetest evaluatewithobject:mobile];

}//車牌號驗證

+ (bool) validatecarno:(nsstring *)carno

[a-za-z][a-za-z_0-9][a-za-z_0-9_\u4e00-\u9fa5]$";

nspredicate *cartest = [nspredicate predicatewithformat:@"self matches %@",carregex];

nslog(@"cartest is %@",cartest);

return [cartest evaluatewithobject:carno];

}//車型

+ (bool) validatecartype:(nsstring *)cartype

//使用者名稱

+ (bool) validateusername:(nsstring *)name

+$";

nspredicate *usernamepredicate = [nspredicate predicatewithformat:@"self matches %@",usernameregex];

bool b = [usernamepredicate evaluatewithobject:name];

return b;

}//密碼

+ (bool) validatepassword:(nsstring *)password

+$";

nspredicate *passwordpredicate = [nspredicate predicatewithformat:@"self matches %@",passwordregex];

return [passwordpredicate evaluatewithobject:password];

}//暱稱

+ (bool) validatenickname:(nsstring *)nickname

$"; nspredicate *passwordpredicate = [nspredicate predicatewithformat:@"self matches %@",nicknameregex];

return [passwordpredicate evaluatewithobject:nickname];

}//身份證號

+ (bool) validateidentitycard: (nsstring *)identitycard

nsstring *regex2 = @"^(\\d|\\d)(\\d|[xx])$";

nspredicate *identitycardpredicate = [nspredicate predicatewithformat:@"self matches %@",regex2];

return [identitycardpredicate evaluatewithobject:identitycard];

}

哈哈,ios中的正規表示式遠遠不止這麼多,這些只是小王覺得在專案中最最常用滴,根據專案的實際需求還需要重新設計嘿!等以後用到新滴一定第一時間給大家分享,哈哈哈。大神,請繞路!

最後再獻上乙份部落格關於正規表示式的理論部落格《正規表示式30分鐘入門教程》,

iOS中常用的正規表示式

匹配中文 u4e00 u9fa5 英文本母 a za z 數字 0 9 匹配中文,英文本母和數字及 u4e00 u9fa5 a za z0 9 同時判斷輸入長度 u4e00 u9fa5 a za z0 9 w u4e00 u9fa5 uf900 ufa2d 1 乙個正規表示式,只含有漢字 數字 字母...

IOS常用正規表示式

原文 匹配中文 u4e00 u9fa5 英文本母 a za z 數字 0 9 匹配中文,英文本母和數字及 u4e00 u9fa5 a za z0 9 同時判斷輸入長度 u4e00 u9fa5 a za z0 9 w u4e00 u9fa5 uf900 ufa2d 1 乙個正規表示式,只含有漢字 數字...

python中常用正規表示式

print re.findall d 123abc 數字 1 2 3 print re.findall d abcaa123abc 非數字 a b c a a a b c print re.findall abc 123abcaaabc abc abc print re.findall aa nab...