正则表达式,简单来说就是描述字符串的规则,其作用如下:
1、校验数据的有效性;
2、从文本中提取内容;
3、文本内容替换;
元字符,即正则表达式中具有特殊含义的专用字符,主要分为5类
1、基础:任意字符(.),任意数字(d),任意数字字母下划线(w),任意空白符(s),相应的大写表示相反的意思;
2、空白符:回车符(
),换行符(
),换页符(f),制表符(
),垂直制表符(v);
3、范围:或(|),多选一([..],前面的取反([^ ...],起止范围(a-z);
4、边界:行开始(^),行结束($),单词边界(),仅匹配整个字符串的开始(A),仅匹配整个字符串的结束();
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
出版社: 电子工业出版社
副标题: 第3版
原作名: Mastering regular expressions
译者: 余晟
出版年: 2007
页数: 515
定价: 75
装帧: 平装
丛书: O'reilly系列
ISBN: 9787121046841