美文网首页
iOS 正则表达式

iOS 正则表达式

作者: 夏天爱西瓜汁 | 来源:发表于2017-11-28 11:19 被阅读8次

    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 正则表达式

          本文链接:https://www.haomeiwen.com/subject/gaesbxtx.html