python 正则表达式基础

一、什么是正则表达式
1、正则表达式(简称为regex)是一些有字符和特殊符号组成的字符串
2、能按照某种模式匹配一系列有相似特征的字符串
二、
三、匹配同类型
\d 匹配数字 不能匹配小数点
\w 匹配数字和字母 如:\w{3} he666= > he6
\s 匹配任何空格字符 如:a\s{2}a cccca accc = >a a
四、边界匹配
1、用^匹配以 * * 开头
例如:^he. hello world =>hel shello world = >
2、用$匹配以* * 结尾

试想一下:. 匹配任意字符,那么如何匹配.呢?还有这些 ^$\呢

五、匹配特殊字符
需要用”"进行转义
例如:.com imooc.com =>.com
http://w+ ssshttp://www.baidu.com => http://www.baidu.com

六、指定匹配选项
使用 [] 指定要匹配的集合
例如:[abc]{2}
cba666 = > cb
xba666 = > ba
xbb666 = > bb
[a-zA-Z]{2}匹配a-z A-Z 中任意两个

使用 [^] 指定不要匹配的内容
例如:[ ^abc]{2} 只要不是abc中任意一个字符的组合
absjhk = > sj hk

七、正则表达式分组
1、重复一个字符串时
2、使用()进行分组 ,使用(?\w+)指定组名
3、从左向右,以分组的左括号为标志,第一个出现的分组的组号为1,第二个为2,以此类推
使用()对匹配的内容分组

例如:192.168.1.172 ===> (\d{1,3}.){3}\d{1,3}

使用\1、\2反向引用
例如:He loves her lover
He likes her liker ===> He (l…e)s her \1r 或者 He (?l…e)s her \kr

八、贪婪模式vs非贪婪模式

贪婪匹配
在整个表达式匹配成功的前提下,尽可能多的匹配
非贪婪匹配
在整个表达式匹配成功的前提下,以最少的匹配字符
默认是贪婪模式

贪婪模式举例
表达式:ab.+c
测试数据:abacabahc
匹配结果:abacabahc

非贪婪模式
只需在匹配pattern中加上”?“
测试数据:abacaxcd
匹配结果:abac

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值