Python-正则表达式总结+常用示例

  • 电话号码验证

  • 身份证号码验证

  • 密码强度验证

  • 网址验证

  • 汉字验证 [\u4e00-\u9fa5]

  • 凡是有一定规律的,批量的数据获取,都可以使用正则表达式来完成

元字符


| 字符 | 说明 |

| — | — |

| . | 代表的是换行符以外的任意字符。 换行符是:(不同的操作系统有不同的换行符) \n \r\n |

| \w | 匹配字母、数字、下划线、汉字的一个字符 |

| \s | 匹配任意的空白符 |

| \d | 匹配数字 |

| ^ | 匹配字符串的开始 |

| $ | 匹配字符串的结束 |

反义代码


反义代码的意思就是与元字符表示相反的代码

  • \W 匹配的任意 不是 字母、数字、下划线、汉字 的字符

  • \S 匹配任意 不是 空白符的字符

  • \D 匹配任意 不是 数字的字符

限定符


符号说明
*代表的重复0次或者是多次
+代表的重复1次或者是多次
代表的是重复0次或者是1次
{n}重复n次,举例:{3}指的就是重复3次
{n,}重复n次或者更多次数
{n,m}重复n次到m次,所以这里m一般要比n大

分组匹配


findall / search/match 区别

  • findall 是查找所有的

  • search 匹配第一个

  • match 匹配开头的

贪婪与非贪婪


  • 贪婪的意思是尽可能多的匹配

  • 非贪婪的意思就是尽可能少的匹配

  • 非贪婪操作符是问号:‘符号?’

  • ?号代表的是重复0次或者是1次,再加一个问号,代表的是非贪婪操作,那么最后就只匹配0次

分支条件匹配


  • 使用 | 来分隔开不同的正则表达式,代表着 条件1 或 条件2 或条件3 …

零宽断言


  • 匹配"正则表达式reg"前边的位置 (?=reg)

  • 匹配"正则表达式reg"后边的位置 (?<=reg)

  • 匹配后边跟的不是"正则表达式reg"的位置 (?!reg)

  • 匹配前边不是"正则表达式reg"的位置 (?<!reg)

常用的实用正则表达式


  • 输入零和非零开头的数字:“^(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]+$”。

最后

🍅 硬核资料:关注即可领取PPT模板、简历模板、行业经典书籍PDF。
🍅 技术互助:技术群大佬指点迷津,你的问题可能不是问题,求资源在群里喊一声。
🍅 面试题库:由技术群里的小伙伴们共同投稿,热乎的大厂面试真题,持续更新中。
🍅 知识体系:含编程语言、算法、大数据生态圈组件(Mysql、Hive、Spark、Flink)、数据仓库、Python、前端等等。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里无偿获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值