您的位置:首页 > 编程语言 > Java开发

战五渣系列之五(3分钟正则)

2016-01-31 22:58 232 查看

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分钟入门教程(致敬),但是看完本文就已经足够了!

你已经是一名合格的渣渣正则程序员了!不会?留言来打我!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息