精通正则表达式,最全正则表达式指南
正则表达式是处理字符串的强大工具,尤其在数据清洗、验证和搜索等方面发挥着重要作用。小编将详细介绍正则表达式的相关内容,帮助您快速掌握这一技能。
一、校验数字的表达式
1.数字:^[0-9]*$匹配任何数字序列。
2.n位的数字:^\d{n}$匹配恰好n位数字的字符串。
3.至少n位的数字:^\d{n,}$匹配至少n位数字的字符串。
4.m-n位的数字:^\d{m,n}$匹配至少m位且最多n位的数字字符串。
5.零和非零开头的数字:^(0|[1-9][0-9]*)$匹配以0开头或非0开头的数字。
6.非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$匹配非零开头,最多带两位小数的数字。
二、日期和时间的正则表达式
-匹配日期格式(dd/mm/yyyy):^(0[1-9]|[12][0-9]|3[01])/(0[1-9]|1[012])/\d{4}$匹配格式为dd/mm/yyyy的日期。
三、特定语言字符的正则表达式
-匹配双字节字符(比如汉字):[\u4e00-\u9fa5]匹配所有汉字字符。
四、字符串操作正则表达式
-第一个参数:使用“r”作为前缀,代表正则模式。
第二个参数:需要切割的字符串。
第三个参数:最大切割次数。
例如:re.slit(r"ac","0acacdacde",maxslit=2),输出结果为:[0,,dacde]。
maxslit:最大切割次数。五、常用正则表达式
-匹配字符:大多数字母和符号都会简单地匹配自身。例如:test匹配自身。
-匹配中文字符:[\u4e00-\u9fa5]匹配所有汉字字符。
-匹配双字节字符:[^\x00-\xff]包括汉字在内,可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)。
-匹配空白行:\n\s*\r可以用来删除空白行。
-匹配HTML标记:]>匹配HTML标记。
六、正则表达式基本概念
-贪婪:+,*,?,{m,n}等默认是贪婪匹配,即尽可能多匹配,也叫最大匹配。如果后面加上?,就转化为非贪婪匹配,需要高版本支持。
-获取:默认用(x|y)是获取匹配,很多时候只是测试,不一定要求得。
通过以上内容,相信您已经对正则表达式有了更深入的了解。在处理字符串时,运用正则表达式将使您的工作更加高效、便捷。