iOS正则表达式(三)

来源:互联网 发布:天津大悦城it电话 编辑:程序博客网 时间:2024/06/05 22:10

正则表达式快捷命令

上篇文章中讲到,我们正则表达式中存在快捷命令可以简化我们的表达式。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为 枫一般低调

0 0
原创粉丝点击