iOS正则表达式(二)

引言

对于大多数新手而言,学习正则表达式的语法,无疑很痛苦,吐槽这样的火星文怎么写?OK,这个链接是一个正则表达式文档,读者点进去,发现,Oh,God!这么长,完全没有兴趣来看了。有木有简单易懂的教程了呢?那么作者就一一道来。

语法

记住正则表达式的语法,其实只需要记住三样东西:

  1. Bracket(括号)
  2. caret(插入符号)
  3. Dollars(美元符号)

    在正则表达式里面有三种类型的符号:

    • 方括号 []:表示需要匹配的字符
    • 花括号 {}:表示指定匹配字符的数量
    • 圆括号 ():表示用来分组

    在正则表达式里面插入符号 ^:表示表达式的开始
    在正则表达式里面美元符号 $:表示表达式的结束

示例

示例一:检测用户输入的字符串是否为a-z之间并且长度为6.

 NSString * regularExpression=@"^[a-z]{6}$";

示例二:检测用户输入的字符串是否为a-z或A-Z之间并且最大长度不超过18,最小长度不小于6

NSString * regularExpression=@"^[a-zA-Z]{6,18}$";

示例三:检测用户输入的字符串为数字和字母的组合,并且最大长度不超过18,最小长度不小于6

NSString * regularExpression=@"^[0-9a-zA-Z]{6,18}$";

示例四:检测用户输入的字符串第一位不能为数字,后面为数字和字母的组合,并且最大长度不超过18,最小长度不小于6

NSString * regularExpression=@"^[a-zA-Z][0-9a-zA-Z]{5,17}$";

示例五:匹配网址

1.检测是否存在 `www.`
NSString * regularExpression=@"^www.";
2.域名长度为1-15之间
NSString * regularExpression=@"[a-zA-z0-9]{1,15}";
3.以com或cn结束
NSString * regularExpression=@"(com|cn|org)$";
合成即为:
NSString * regularExpression=@"^www[.][a-zA-z0-9]{1,15}[.](com|cn|org)";

示例6:验证格式为YYYY.MM.DD的日期

1.允许用户输入的年份,这里设置为1970-2099
NSString * regularExpression=@"^1[9][0-7][0-9]|[2][0][0-9][0-9]";
2.月份,01-12
NSString * regularExpression=@"[1-9]|0[1-9]|1[0-2]";
3.天:1-9或01-09或10-19或20-29或30-31
NSString * regularExpression=@"[1-9]|0[1-9]|1[0-9]|2[0-9]|3[0-1]";
总的来说:
NSString * regularExpression=@"^(1[9][0-7][0-9]|[2][0][0-9][0-9])[.]([1-9]|0[1-9]|1[0-2])[.]([1-9]|0[1-9]|1[0-9]|2[0-9]|3[0-1])$";

从以上示例可以看出我们的正则表达式语法还是很简单的,然而细心的童鞋发现了,我这样的表达式跟一些教程上表达是不一样,比如一些教程的表达式有 \d \w * + ? 等一些玩意儿,那么这些玩意儿到底代表什么意思呢?
没错,这是正则表达式的快捷命令,使用这些命名,我们可以简化我们的正则表达式,如上篇文章中就要这样的表达式 (<img.*?/>)。想要知道这些表达式的含义,且听下回分解。


我的优酷空间,有视频教程哦

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值