iOS正则表达式(三)

正则表达式快捷命令

上篇文章中讲到,我们正则表达式中存在快捷命令可以简化我们的表达式。OK,接下来我们来看下这些快捷命令吧。

命令解释
.匹配除换行符以外的任意字符
\w匹配字母或数字或下划线或汉字
\s匹配任意的空白符
\d匹配数字
\b匹配单词的开始或结束
*重复零次或更多次
+重复一次或更多次
?重复零次或一次
{n}重复n次
{n,}重复n次或更多次
{n,m}重复n到m次

比如说匹配用书输入的是否是一个11位数字,我们正则表达式可以这样写 ^\\d{11}$,其中 \ 转义字符。接下来我们来看一些示例来帮助大家理解:

示例一:
判断用户输入的是否为手机号码
NSString *regex = @"^[1][3578]+\\d{9}$";
示例二:
判断用户输入的是否为QQ号码
NSString *regex = @"^[1-9]{4,}$"
示例三:
判断用户输入的是否为邮箱
NSString *regex = @"^[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}$";
note:邮箱里面不能出现中文,所以regex不能为 ^[\\w._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}$
示例四
判断用户输入的是否为四个中文
NSString *regex = @"^[\u4e00-\u9fa5]{4}$"
note:中文是Unicode编码是 \u4e00-\u9fa5 之间
示例五
过滤html标签
NSString *regex = @"^<([a-z]+)([^<]+)*(?:>(.*)<\/\1>|\s+\/>)";

对于上面的这个表达式 [^<]+ 有的同学不明白是什么意思,事实上这个是取反的意思,即匹配非方括号中所有字符至少一次。在正则表达式中,有很多取反的命令

命令解释
\W匹配任意不是字母,数字,下划线,汉字的字符
\S匹配任意不是空白符的字符
\D匹配任意非数字的字符
\B匹配不是单词开头或结束的位置
[^x]匹配除了x以外的任意字符

结束语

OK,其实正则表达式有很多很强大的功能,有兴趣的同学可以深入学习。个人认为,大家只要掌握了这些基本语法是可以对付咱们做iOS开发的项目需求的。最后,希望大家可以关注我的优酷空间(里面有教学视频哦)。顺便也可以关注一下我的新浪微博,ID为 枫一般低调

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值