python正则表达式(二)

re模块的用法

1、re.S可以匹配转义符

re.findall('k.n','darken dark\nn')

只输出第一个darken中的ken

re.findall('k.n','darken dark\nn',re.s)

不仅输出darken中的ken,还输出了dak\nn中的k\nn

2、re.M匹配多行

re.findall(r'^ta','tan tb\ntab ta')

只返回第一行的ta,^表示行首的意思

re.findall(r'ta','tan tb\ntab ta')

3个ta都返回了

re.findall(r'^ta','tan tb\ntab ta',re.M)
此时第二行的行首ta也返回了,这就是多行匹配的用处

3、re.I大小写匹配

so easy!

4、re.X多行。。。和re.M类似,细节还没注意

5、()分组

s = r'\w{3}@\w+(\.com|\.cn)'
re.findall(s,'tdk@gmail.com')

返回.com,如何充分应用这个优势

str = 'A B=ab D'
s1 = r'A B=.+ D'
s2 = r'A B=(.+) D'
re.findall(s1,str)
re.findall(s2,str)
第一个返回的是 A B=ab D,而第二个只返回了ab,这对于提取同构数据中的异样值还有效,这也是findall相对于match的优势所在

6、match和search

都是返回对象的匹配,区别在于,match只匹配行首,而search全文匹配。

6、split函数

str='123+456-789*456'
re.split(r'[+\-*]',str)
返回123 456 789 456,该函数完成了根据指定符号进行断句的功能,由于[]中的-符号有别的用途,需要转义。

7、sub函数

re.sub(r'[abc]','t','tan')
返回ttn,也就是通过r'[abc]查找‘tan’,再用t替代查找到的[abc]。subn函数除了返回替换后的字符串,还返回替换的个数。

8、others

dir(re)可以查看re下的成员变量和属性方法

help(re)获得相关模块的帮助文档,可以具体到某个成员,如help(re.sub)查看re中的sub函数。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值