Python正则

正则表达式

正则表达式用于搜索,替换和解析字符串,python中提供了re模块实现正则表达式

\d:  匹配任何十进制数,相当于[0-9]

\D: 匹配任何非数字字符,相当于[^0-9]

\s:  匹配任何空白字符

\S: 匹配任何非空白字符

\w: 匹配任何字母数字字符,相当于[a-zA-Z0-9]

\W:匹配任何非字母数字字符,相当于[^a-zA-Z0-9]

^ : 行起始标记

$ : 行尾标记

. : 匹配任意一个字符

[]    匹配包含在[字符]之中的任意字符

[^]   匹配包含在[^字符]之外的任意字符

?    匹配之前项的一次或0次

+    匹配之前项的1次或多次

*     匹配之前项的0次或多次

 

 

re模块

python的re模块具有正则表达式 ,re模块提供了一个根据正则表达式进行查找,替换,分隔字符的函数

 

re常用函数

1. 匹配类函数
re模块findall函数,该函数在字符串中查找模式匹配,将所有的匹配以列表形式返回

 

re模块的一些函数都有一个flags参数,用于设置匹配的附加选项,例如,是否忽略大小写,是否支持多行匹配

I  忽略大小写

M 多行匹配

实例:

>>> import re
>>> s = "HELLO WORLD"
>>> print(re.findall())
KeyboardInterrupt
>>> re.findall(r"^hello",s)
[]
>>> re.findall(r"^hello",s,re.I)     #re.I 表示忽略大小写
['HELLO']
>>> re.findall(r"WORLD$",s)  
['WORLD']
>>> re.findall(r"world$",s,re.I)
['WORLD']
>>> re.findall(r"world$",s,re.I)
['WORLD']

 

 

 

match()方法

返回一个对象,只匹配开始的位置
>>> m = re.match(r'(\w+)\s','hello word')    ##(\w+)一个括号表示一组
>>> m.group(0)
'hello '
>>> m.group(1)
'hello'

>>> m = re.match(r'\w+\s','ab hello word')
>>> m.group(0)
'ab '
>>> m = re.match(r'(hello)\s','ab hello word')   #因为match只匹配开头,所以导致hello没有匹配到
>>> m

>>> m = re.match(r'(hello)\s','hello word')
>>> m.group(0)
'hello '

 

sub()方法   替换字符串

>>> s = "hello world"
>>> re.sub("hello","hi",s)  #将hello替换成hi
'hi world' 
>>> re.sub("world","china",s[-5:])   ##在分片[-5:]范围内替换"world", 把字符串world替换成china
'china'

** sub()先创建变量s的拷贝,然后在拷贝中替换字符串,不会改变原变量s的内容

 

转载于:https://www.cnblogs.com/kubernets/p/8979101.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值