iOS 正则表达式

2016.11.23

语法

首先,特殊符号^和$,他们的作用分别指一个字符串的开始和结束

eg:

^one:表示所有以“one”开始的字符串 one cat,one dog……

类似于- (BOOL)hasPrefix:(NSString *)aString;

dog$:表示所有以dog结尾的字符串 it is a dog,……

类似于 -(BOOL)hasSuffix:(NSString *)aString;

^apple$:表示开始和结尾都是apple的字符串,是唯一的

banana:表示任何包含banana的字符串

类似于 -(BOOL)containsString:(NSString *)aString,搜索子字符串用的

*,+,?这三个符号,表示一个或n个字符重复出现的次数。分别表示"没有或更多" ([0,正无穷)) ;"一次或更多" ([1,正无穷)) ;"没有或一次" ([0,1]) 。

ab*:表示一个字符串有一个a后面跟着0个或多个b(a,ab,abb...)

ab+:表示一个字符串有一个a后面跟着至少一个b(ab,abb,abbb...)

ab?:表示一个字符串有一个a后面跟着0个或1个b(a,ab)

a?b+$:表示一个字符串结尾有-个或1个a跟着一个或多个b(b,ab,bb,abb,...)

用大括号{}表示一个重复的具体范围,如

ab{4}:表示一个字符串有一个a跟着4个b(abbbb)

ab{1,}:表示一个字符串有1个a跟着至少1个b(ab,abb,abbb,...)

ab{2,4}:表示一个字符串有1个a跟着2-4个b(abb,abbb,abbbb)

*可以用{0,}表示,+可以用{1,}表示,?可以用{0,1}表示

注意:可以没有下限,但不能没有上限,如ab{ ,5}是错误的写法

| 表示或操作

a|b:表示一个字符串里有a或b

(a|bcd)ef:表示aef或bcdef

(a|b)*c:表示0个或多个a或b的字符串后面有一个c,ac,abc,c,bc,abbc,aabc,aabbc,...

[]表示在括号内的众多字符中,选择1-n个括号内的符合语法的字符作为结果,如:

[ab]:表示一个字符串有一个a或a(相当于a|b)

[a-d]:表示一个字符串包含小写的a到d中的一个(相当于a|b|c|d或者[abcd])

^[a-zA-Z]:表示一个以字母开头的字符串

[0-9]a:表示a前有一位数字

[a-zA-Z0-9]$:表示一个字符串以一个字母或数字结束

.匹配除\r\n之外的任何单个字符,如:

a.[a-z]:表示一个字符串有一个a后面跟着任意字符和一个小写字母

^.{5}$:表示任意一个长度位5的字符串

你可能感兴趣的:(iOS 正则表达式)