iOS 正则表达式

正则表达式学习

语法

  • ^ 和 $ 表示字符串的结束

1、 例子:^one 表示one开头的字符串 “one .....”

2、 例子: “a dog$” 表示以“......a dog”结束的字符

^ 和 $ 类比于iOS 的 hasPrefix 和 hasSuffix

3、 “banana”:在正则中表示任何包含“banana”字符的字符

类似于iOS 的containsString函数

4、 “*”,“+”,"?" 三个字符

“ * ”表示出现的次数>=0次

“ + ”表示出现的次数 >= 1次

" ? " 表示出现的次数 是 0次 或一次

例子:

"ab*"表示 ("","ab" "abb"等等)

ab+ 表示(ab abb abbb等等)

ab? 表示(a,ab)

a?b+$ 表示结尾处跟着0个a或者1个a或者1个或者几个b

5、{} 表示重复的具体范围

例子:

ab{4} 表示a后面跟着四个b abbbb

ab{1,} 表示a后面至少一个b

ab{3,4} 表示字符串字符串哦后面跟着3个或者4个b

“*” 可以表示成{0,} “+” 表示成{1,} “?”表示成{0,1}

注意{} 可以没有下限{1,}但是不能没有上限

6、 ‘|’表示或操作

“(a|b)*c” 表示a或b组成的字符串(a,b,ab都算)字符串后面跟着一个c

7、[ ]表示在括号内的

[ab]表示有一个a或者b
[a-d] 字符串中包含小写的a到d的中的一个
^[a-zA-Z]表示一个以字母开头的字符串
[0-9]a表示a前有一位数字
[a-zA-Z0-9]$以一个字母或者数字结束

8、. 匹配除‘\r \n’之外的任何单个字符

例子:

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

“^.{5}$”:表示任意1个长度为5的字符串;

9、“\num” 其中num是一个正整数。表示”\num”之前的字符出现相同的个数

例子:

“(.)\1″:表示两个连续的相同字符 -------这个主意\需要转义 (.)\1

“10{1,2}” : 表示数字1后面跟着1或者2个0 (“10″,”100″) 这个我转义之后不正确 不转义报警告。。。求指点

0{3,} 表示数字为至少3个连续的0 这个也是转义不行 可能“\num”这个形式是不能转义的

10、[^ ] 在方括号里用’'表示不希望出现的字符,’'应在方括号里的第一位

例子

“@[^a-zA-Z]4@”表示两个”@”后跟着一位不是字母的位 然后跟着4@的字符

11、\d 匹配一个数字字符 等价[0-9]需要转义\d

12、\D 匹配一个非数字字符 等价于[^0-9] 需要转义\D

13、 \w 匹配一个包括下划线的任何单词字符
--注意不--等价于[A-Za-z0-9_] 因为还有汉字什么的各种吧(汉字也算字符) 这个实验出来的

14、\W 匹配一个非单词字符 除了@什么的

13 14 用的测试用例是 您可以于aaa31000年12月20日后再次申请借款@4@ 这个字符串

我的需求

看了这么多就是为了写一个需求 从字符串中提取日期时间

例如 : 您可以于2017年12月20日后再次申请借款
写我写了个简单的正则:[0-9]{4}[年][0-9]{1,2}[月][0-9]{1,2}[日]

写的时候就是拆分 分段写完在组合 比如 年前面 月前面 日前面 分别写出来 在组合

暂时先学习到这里 需求完成 后续有机会再研究

查看资料

精确日期的校对 :精确日期的校对

iOS 中正则学习:正则表达式在iOS中的运用

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