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

零宽断言


正则的含义


  • 正则表达式就是用来操作字符串的一种逻辑公式

正则表达式的应用场景


  • 数据分析时数据获取的文本筛选

  • 进行爬虫时,网页数据的匹配

  • 写前端代码的时候,用户输入数据的验证

  • 测试人员对请求结果的数据验证

  • 批量文本编辑,比如Sublime Text或nodepad++、EditPlus等记事本软件全都支持正则表达式的使用

常用的格式校验


  • 邮箱验证

  • IP地址验证

  • 电话号码验证

  • 身份证号码验证

  • 密码强度验证

  • 网址验证

  • 汉字验证 [\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)

常用的实用正则表达式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值