校验数据的有效性、查找符合要求的文本以及对文本进行切割和替换等操作。
正则表达式的目的是真正的强大之处就在于可以查找符合某个规则的文本。
1.特殊字符串
(资料图片)
. 除换行符外任意字符\d 表示任意单个数字 \w 表示任意单个数字或字母或下划线\s 表示任意单个空白符\D \W \S,意思正相反。
2.空白符
\r 回车符\n 换行符\f 换页符\t 制表符\v 垂直制表符\s 任意空白符3.量词
* 代表0次到多次+ 1次到多次? 0到1次{m} 出现m次{m,} 出现至少m次{m,n} m到n次4.范围
|或 ,如ab|bc
代表ab或bc... 多选一,括号中任意单个元素a-z 匹配a-z之间任意单个元素^.. 取反,不能包括括号中的任意单个元素xy{1,3}+yz
注意: Python 和 Go 的标准库目前都不支持独占模式。
(“.+?”)|\w{2,6}
如图所示的正则,将日期和时间都括号括起来。这个正则中一共有两个分组,日期是第 1 个,时间是第 2 个。
1.不保存子组
分组的作用就是后续可能还会被引用到,但是如果不需要引用的时候可以添加不保存子组,表达式(?:xxx)
,优点是正则性能会更好,在子组计数时也更不容易出错。
2.括号嵌套
...略
1.不区分大小写模式(Case-Insensitive)
不区分大小写模式,正则表达式(?i)cat
,这样匹配的字符就不区分大小写了
如果我们想要前面匹配上的结果,和第二次重复时的大小写一致,那该怎么做呢?我们只需要用括号把修饰符和正则 cat 部分括起来,加括号相当于作用范围的限定,让不区分大小写只作用于这个括号里的内容。正则表达式((?i)cat)
2.点号通配模式(Dot All)
元字符里讲.
可以匹配除了换行以外的任何元素,用单行模式中使用.
,正则表示式(?s).
3.多行匹配模式
多行模式的表达式(?m)^...|...$
,这样的匹配好处是每一行
断言是指对匹配到的文本位置有要求。
1.单词边界
在准确匹配单词时,我们使用 \b...\b
就可以实现了,也可以指定表达式的开头和结尾^...$
2.环视
环视的主要是定义清晰的边界。
(?<=Y)
,左边是Y(?<=!Y)
,左边不是Y(?=Y)
,右边是Y(?!Y)
,右边不是Y左尖括号代表看左边,没有尖括号是看右边,感叹号是非的意思。
正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。
匹配中文字符的正则表达式:[u4e00-u9fa5]
匹配双字节字符(包括汉字在内):[^x00-xff]
匹配空白行的正则表达式:ns*r匹配HTML标记的正则表达式:<(S*?)[^>]*>.*?|<.*? />
匹配首尾空白字符的正则表达式:^s*|s*$
匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
匹配网址URL的正则表达式:[a-zA-z]+://[^s]*
匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
匹配国内电话号码:d{3}-d{8}|d{4}-d{7}
( 匹配形式如 0511-4405222 或 021-87888822)匹配中国邮政编码:[1-9]d{5}(?!d)
匹配身份证:d{15}|d{18}
2.匹配特定数字:
匹配正整数^[1-9]d*$
匹配负整数 ^-[1-9]d*$
匹配整数 ^-?[1-9]d*$
匹配非负整数(正整数 + 0)^[1-9]d*|0$
匹配非正整数(负整数 + 0)^-[1-9]d*|0$
匹配正浮点数 ^[1-9]d*.d*|0.d*[1-9]d*$
匹配负浮点数 ^-([1-9]d*.d*|0.d*[1-9]d*)$
匹配浮点数 ^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$
匹配非负浮点数(正浮点数 +0) ^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$
匹配非正浮点数(负浮点数 + 0)^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$
3.匹配特定字符串:
匹配由26个英文字母组成的字符串^[A-Za-z]+$
匹配由26个英文字母的大写组成的字符串 ^[A-Z]+$
匹配由26个英文字母的小写组成的字符串 ^[a-z]+$
匹配由数字和26个英文字母组成的字符串 ^[A-Za-z0-9]+$
匹配由数字、26个英文字母或者下划线组成的字符串 ^w+$
只能输入数字:^[0-9]*$
只能输入n位的数字:^d{n}$
只能输入至少n位数字:^d{n,}$
只能输入m-n位的数字:^d{m,n}$
只能输入零和非零开头的数字:^(0|[1-9][0-9]*)$
只能输入有两位小数的正实数:^[0-9]+(.[0-9]{2})?$
只能输入有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$
只能输入非零的正整数:^+?[1-9][0-9]*$
只能输入非零的负整数:^-[1-9][0-9]*$
只能输入长度为3的字符:^.{3}$
只能输入由26个英文字母组成的字符串:^[A-Za-z]+$
只能输入由26个大写英文字母组成的字符串:^[A-Z]+$
只能输入由26个小写英文字母组成的字符串:^[a-z]+$
只能输入由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$
只能输入由数字、26个英文字母或者下划线组成的字符串:^w+$
验证用户密码:^[a-zA-Z]w{5,17}$
正确格式为:以字母开头,长度在6-18之间,只能包含字符、数字和下划线。验证是否含有^%&"",;=?$"等字符:[^%&"",;=?$x22]+
只能输入汉字:^[u4e00-u9fa5],{0,}$
验证Email地址:^w+[-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$
验证InternetURL:^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$
验证电话号码:^((d{3,4})|d{3,4}-)?d{7,8}$
上一篇:环球今日讯!全球首个海水提锂项目落地青岛 预计12月底投产运行
下一篇:最后一页
1、平均数就是把一组数据相加。2、再除以这组数据的个数。3、就是平均数。本文就为大家分享到这里,希望小伙伴们会喜欢。
10月26日,何炅更博晒出《快乐大本营》宣传照,并祝杜海涛生日快乐。他说最喜欢的是第一张,一家人整整齐齐开心大笑。但也是因为第一张,何老
1、【数据准入】 淘宝网卖家须满足以下数据条件才有机会入驻“淘宝汇吃”市场: (一) 《符合淘宝网营销
解答:1、我很高兴爱上你。完整歌词如下:2、我很高兴爱上你——水木年华3、单词:卢庚戌4、屈:人5、编曲:李延亮6、我只
电脑上的文件一般都是我们自己创建的,或者u盘和收到的文件。这些文件一般都是世界、文档、表格、视频等重要的东西。文件长时间
1、一、性质不同纯虚数:一个实数乘以i称为纯虚数。2、2、虚数:在复数域中,负数-1的平方根记为i(即i²=-1)。3、
6月13日,王者荣耀KPL春季总决赛正式开始,由AG超玩会对战到TS。而在全部的比赛中,双方打的非常激烈,每局都有非常经常的操作,比分也一直咬
1、欧泊的英文为Opal,源于拉丁文Opalus,意思是“集宝石之美于一身”。2、古罗马自然科学家普林尼曾说:“在一块欧
证券时报网讯,作为“中国激光第一股”,华工科技经过多年的技术积累,形成了以激光加工技术,光联结、无线联接,和敏感电子技术为重要支撑的
总体上,公司本季度在时间节点和质量上都超预期的完成了实现盈亏平衡的目标,实属交出了市场最想看到的答卷,也标志着公司的拐点正式到来。
X 关闭
上海推进三大先导产业规模实现倍增 打响“上海制造”品牌
深圳机场开通今年第5条国际货运航线 为深圳企业外贸出口提供新支撑
湖南公布90个建筑施工质量管理不合格工地名单
公众如何防范奥密克戎变异株?疾控专家回应
河南中招体育考试4月1日启动 计入中招成绩总分
婴幼儿疫苗最近暂停接种?郑州市疫情防控相关部门回应
X 关闭