正则表达式--iOS开发

A.正则表达式-正则表达式使⽤用单个字符串来描述、匹配⼀一系列符合某个句法规则的字符串。在很多⽂文本编辑器⾥里,正则表达式通常被⽤用来检索、替换那些

符合某个模式的⽂文本。

B.原义⽂文本字符-正常的⽂文本字符。

C.元字符-具有特殊意义的专⽤用字符,是代替正常⽂文本字符的字符。

D.限定符-限定匹配的数量或特殊条件。 


常⽤用元字符

元字符

page3image2880

含义

page3image3784

.

匹配除换⾏行符以外的任意字符

\w

匹配字⺟母或数字或下划线或汉字

\s

匹配任意的空⽩白符

\d

匹配数字

\b

匹配单词的开始或结束

^

匹配字符串的开始

$

匹配字符串的结束



常⽤用限定符

元字符

page4image2848

含义

page4image3752

{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];} 



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值