快速入门正则表达式

正则表达式,简单来说就是描述字符串的规则,其作用如下:
1、校验数据的有效性;
2、从文本中提取内容;
3、文本内容替换;

元字符,即正则表达式中具有特殊含义的专用字符,主要分为5类
1、基础:任意字符(.),任意数字(\d),任意数字字母下划线(\w),任意空白符(\s),相应的大写表示相反的意思;
2、空白符:回车符(\r),换行符(\n),换页符(\f),制表符(\r),垂直制表符(\v);
3、范围:或(|),多选一([..],前面的取反([^ ...],起止范围(a-z);
4、边界:行开始(^),行结束($),单词边界(\b),仅匹配整个字符串的开始(\A),仅匹配整个字符串的结束(\Z);
5、量词:0到多次(*),1到多次(+),0到1次(?),出现m次({m},m到n次({m, n});
示例:
手机号:1[3456789]\d{9}或1[3-9]\d{9}或1[^012]\d{9};

贪婪&非贪婪
1、贪婪:表示次数的量词,默认是贪婪的,即尽可能多匹配;
2、非贪婪:数字元字符后加?,找出长度最小且满足要求的;

环视,即我们给定的规则前后加一些限制
1、X(?<=Y) 匹配前面是Y的X;
2、X(?<!Y) 匹配前面不是Y的X;
3、X(?=Y) 匹配后面是Y的X;
4、X(?!Y) 匹配后面不是Y的X;

子组,即将正则分成若干个子组,并用()括起来
1、(正则) 将regex保存一个子组;
2、\分组编号,重复某个子组;
示例:
将字符串中重复的连续单词移除: (\w+) \1 替换 \1

网站推荐
https://regex101.com/

书籍推荐

精通正则表达式

 
精通正则表达式
作者:  [美] Jeffrey E·F·Friedl
出版社: 电子工业出版社
副标题: 第3版
原作名: Mastering regular expressions
译者: 余晟
出版年: 2007
页数: 515
定价: 75
装帧: 平装
丛书: O'reilly系列
ISBN: 9787121046841
 

参考链接https://time.geekbang.org/dailylesson/detail/100044029

posted @ 2020-10-15 11:28  O-ll-O  阅读(156)  评论(0编辑  收藏  举报