正则表达式--iOS开发
2015-12-03 13:48
411 查看
A.正则表达式-正则表达式使⽤用单个字符串来描述、匹配⼀一系列符合某个句法规则的字符串。在很多⽂文本编辑器⾥里,正则表达式通常被⽤用来检索、替换那些
符合某个模式的⽂文本。
B.原义⽂文本字符-正常的⽂文本字符。
C.元字符-具有特殊意义的专⽤用字符,是代替正常⽂文本字符的字符。
D.限定符-限定匹配的数量或特殊条件。
常⽤用元字符
常⽤用限定符
举例:
匹配全数字:^[0-9]*$
匹配国内电话号码:\d{3}-\d{8}|\d{4}-\d{7}匹配腾讯QQ号:[1-9][0-9]{4,}
匹配⾝身份证:\d{15}|\d{18}匹配帐号是否合法(字⺟母开头,允许5-16字节,允许字⺟母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
代码示例:
//⽤用户名
+ (BOOL) validateUserName:(NSString *)name{
NSString *userNameRegex = @"^[A-Za-z0-9]{6,20}+$";
NSPredicate *userNamePredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES%@",userNameRegex];
BOOL B = [userNamePredicate evaluateWithObject:name];
return B;}
//密码
+ (BOOL) validatePassword:(NSString *)passWord{
NSString *passWordRegex = @"^[a-zA-Z0-9]{6,20}+$";
NSPredicate *passWordPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES%@",passWordRegex];
return [passWordPredicate evaluateWithObject:passWord];}
符合某个模式的⽂文本。
B.原义⽂文本字符-正常的⽂文本字符。
C.元字符-具有特殊意义的专⽤用字符,是代替正常⽂文本字符的字符。
D.限定符-限定匹配的数量或特殊条件。
常⽤用元字符
元字符 | 含义 |
. | 匹配除换⾏行符以外的任意字符 |
\w | 匹配字⺟母或数字或下划线或汉字 |
\s | 匹配任意的空⽩白符 |
\d | 匹配数字 |
\b | 匹配单词的开始或结束 |
^ | 匹配字符串的开始 |
$ | 匹配字符串的结束 |
元字符 | 含义 |
{n} | 重复n次 |
{n,} | 重复⼤大于等于n次 |
{n,m} | 重复n次到m次 |
* | 重复⼤大于等于0次 |
+ | 重复⼤大于等于1次 |
? | 重复0次或1次 |
匹配全数字:^[0-9]*$
匹配国内电话号码:\d{3}-\d{8}|\d{4}-\d{7}匹配腾讯QQ号:[1-9][0-9]{4,}
匹配⾝身份证:\d{15}|\d{18}匹配帐号是否合法(字⺟母开头,允许5-16字节,允许字⺟母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
代码示例:
//⽤用户名
+ (BOOL) validateUserName:(NSString *)name{
NSString *userNameRegex = @"^[A-Za-z0-9]{6,20}+$";
NSPredicate *userNamePredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES%@",userNameRegex];
BOOL B = [userNamePredicate evaluateWithObject:name];
return B;}
//密码
+ (BOOL) validatePassword:(NSString *)passWord{
NSString *passWordRegex = @"^[a-zA-Z0-9]{6,20}+$";
NSPredicate *passWordPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES%@",passWordRegex];
return [passWordPredicate evaluateWithObject:passWord];}
相关文章推荐
- iOS 音视频合成
- iOS 在textView中添加图片
- iOS 版本更新提示
- iOS消息推送机制的实现
- iOS 排序算法总结、二分法查找
- iOS 适配iOS9
- iOS开发系列--并行开发其实很容易
- iOS KVC & KVO
- iOS 常见崩溃
- iOS添加到购物车的简单动画效果
- iOS开发之多媒体API
- iOS多线程编程技术之NSThread、Cocoa NSOperation、GCD
- iOS开发之GCD使用总结
- iOS 屏幕适配,autoResizing autoLayout和sizeClass图文详解
- nagios下批量添加hosts.cfg脚本
- IOS中NSUserDefaults的用法(轻量级本地数据存储)
- iOS单例
- iOS 调用js方法,去除HTML标签
- IOS缓存机制详解
- iOS Quartz笔记