iOS开发中正则表达式的基础使用

这里介绍一下正则表达式中的一些特殊代码,也叫做元字符(metacharacter)。在我看来,这些元字符类似我们OC语言中的关键字。(当然正则表达式的与字符肯定不止这么点,但一下的我觉得已经够我们开发使用的了)

\b:代表着单词的开头或结尾,作为单词的分界处。
例如:正则表达式 h i会匹配到包含有 hi 这两个连续字母的单词,像history、him。而如果加上\b,是正则表达式变成这样 \bhi\b那么就只会匹配到 hi 这个单词

. (英语中的句号): 匹配除了换行符以外的任意字符。
例如:正则表达式 \ba.\b(\b是代表单词开头或结束的元字符,上面已经介绍) 匹配以 前面一个是字符a,后面是一个除换行符意外的任意字符的字符串,像aa、ab、a_、a+ 这些都可以匹配到

\d:匹配一个数字(0-9)
例如:正则表达式 0\d\d\d\d\9 匹配以0开都,以9结尾的一串6个数字的数字串,中间的四个数字可以是0到9中任意的数字,像056789、043629等等

\w:匹配字母或数字或下划线或汉字
例如:正则表达式 \w\w\w\w 匹配任意的四个字母或数字或下划线或汉字,像中文中的成语:十动然拒、普大喜奔 这种类型的,或者是:main、void 这种四个字母的单词,或者是:5_a、壕b6 这种杂交的类型

\s:匹配任意的空白字符(上面说了这么多,这个没什么好说的了,应该挺好理解的把)

ps:上面的介绍的元字符是用来匹配特殊的格式或者字符的,而下面的几个则用来匹配数量的

*(星号) :重复零次或多次
例如:正则表达式 a\d
匹配以字符a开头的,后面跟着0个或者多个数字的字符串:a、a1、a94803748 这些都是该正则表达式匹配的字符串;

+:重复1次或多次
例如:正则表达式 a\d+ 匹配的是以字符a开头的,后面跟着1个或多个数字的字符串:a3、a5856306 ,但是不能匹配 a 应为+代表最少要有一个;

?:重复0次或1次
和上面两个类似,表达式 a\d? 匹配的是以字符a开头的,后面跟着0个或一个数字的字符串:a、a5、a9

{n}:重复n次
例如:我们的身份证号,一般来说是18位的数字(实际上身份证的验证要复杂得多,这里只是举个栗子),那么我们可以写这么一个正则表达式来匹配它:\d{18} ,又例如我们银行卡的取款密码,一般来说是6位的数字,那么我们就可以写:\d{6} 这样的正则表达式来匹配。

{n,}:重复n次或更多次(即最少都要重复n次)
例如:现在很多网站的账号注册时,密码都要求不少于多少个数,那么我们就可以这么写:\d{6,} ,这是不少于6位的数字

{n,m}:重复n到m次(最少重复n次,最多重复m次)
例如:QQ的账号要求是5到12位, 那么可以用正则表达式:\d{5,12} 来匹配


[]的使用:
[abcdef] 这个正则表达式匹配abcdef中其中一个字母,[.?!]这个正则表达式匹配里面三个标点符号中的其中一个。我们也可以用来指定一个范围,[0-9]匹配0到9这段区间中任意一个数字(包括0和9)。[a-z]这里就是匹配a到z这段区间其中一个字母。我们还可以这几个范围连在一起使用,比如[0-9a-zA-Z]就是匹配 0到9、a到z、A到Z 这三个区间的其中一个区间的其中一个字符或数字。



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值