python正则表达式的表示 和高级用法

表示数量

在编程中,有时需要爬出我们所需要的字符,而且它们可能挨着在一起,也可能分布在代码的各个角落,我们今天解决一下要摘出数量的问题。

  1. 字符: * 星号编程中,表示可以输出全部,也可以一个都不输出,比如 import re ret = re.search(’ .* ',‘erdgfrewr’),这时,就可以输出全部的字符串,当字符串一个都没有的话,也可以一个都不输出。
  2. 字符:+ 加号在编程中,表示出现至少一次,也可以是无限次,比如说 import re ret = re.search (’[a-zA-Z0-9]+[\w]*’, 'i like China),这个就是说在后面的字符串中 ,找出 a-zA-Z0-9 和 所有的文字 ,输出至少一个。
  3. 字符: 问号是输出一个,对于加了问号的,输出时,只能输出一个字符,要不然就一个都没有。
  4. 字符: {m} 匹配前一个字符出现 m 次, import re ret = re.search (’[a-zA-Z0-9]{4}*’, 'i like China),这串代码,就表示输出四个符合前面条件的四个字符。
  5. 字符: {m,}表示至少输出m个字符
  6. 字符: {m,n}表示输出m - n 个字符

表示边界

表示边界的字符有表示结束的,表示开始的,表示匹配单词的边界,非单词的边界。
^ 表示从什么开始
$ 表示从什么结束
\b 匹配一个单词的边界
\B 匹配一个非单词的边界

匹配分组

|
用竖线分开的,表示匹配其中的一个
(ab)
将括号中字符作为一个分组
\num
引用分组num匹配到的字符串
(?P)
分组起别名
(?P=name)
引用别名为name分组匹配到的字符串

高级用法

高级用法就是用别的表达式,
search
findall
sub
介绍:
match 是我们常用的,都是从开头来匹配字符,

search 用法,让我们不用从字符串的开头来进行匹配,直接找到我们正则表达式里需要的字符,但是在匹配中,如果遇到和正则表达式的规则不符合,就会停止,后面还有符合的,也不会去匹配了

findall 这个用法,会让我们匹配到的字符呈现出列表的状态,而且如果匹配到和表达式中不符合的,也会继续向后找,只到完全匹配出来为止。

sub 将匹配到的数据进行替换
这个就厉害了,当我们想把字符串中的数据进行替换时,我们就可以用sub 的形式, import re ret = re.sub(r’English’,‘China’,‘i love English’’),这时,就可以将English替换成China咯,表达式中的r 是原始字符的意思。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值