1.3分钟学不会正则你打我!
(此处10秒)
- 如果你校验表单,必须是正则,不要从网上copy了,咱用的是放心。
- 如果你通过文本匹配来处理逻辑,必须使用正则,哈哈,没法copy了吧。
- 如果你是开发接口,请使用validator 配合正则,效率高能装逼。
- 你查看日志,替换文本不用正则怎能成为一名合格的渣渣?
2.核心概念:不要问我\w匹配啥!
(此处160秒)1.正则中的元字符。\d 匹配数字,其他的自己查。
2.分组的概念 “()”。一个小括号就是一组。例如(010-)(12306),两组
3.分枝的概念 “|”。就是或者的意思,例如(010-)|(12306) ,匹配 (010-)或者(12306)
4.匹配字符串重复次数 “{}”。例如{3}重复匹配3次。{3,}重复匹配3次以上。
5.匹配限定“[]”。匹配其中的字符。例如:[0,1,2]只匹配 0、1、2中的数字。
6.反义“[^]”。[^012]除了0、1、2的其他数字。
- 匹配手机号码:1[3,5,8,9][0-9]{9}:第一位匹配1,第二位匹配 3、5、8、9中的任意一位,第3至11位(重复9次)匹配0至9的任何一个数字。一共11位电话号码。
- 匹配重复数字的两位数:(\d)\1。分组的概念,第一组(\d)匹配一个数字,第二位\1表示匹配第一组的数字。
- 匹配北京或者济南的12306:((010)|(0531))12306。分枝与分组。
3.更进一步!
(此处10秒)
- 贪婪与懒惰:按最少\最多匹配。ab+ 匹配 abbbb中的 ab 还是 abbbb。
- 断言:断定字符串前后一定会\不会出现某个字符串。(?=ing) 这个字符串的后面一定是ing。reading 匹配 read。所以断言只匹配位置,而不匹配内容!
- 其他:正则表达式30分钟入门教程(致敬),但是看完本文就已经足够了!
你已经是一名合格的渣渣正则程序员了!不会?留言来打我!