匹配多个字符串

要想搜索多个字符串,如搜索aa、bb和cc,最简单的方法是在正则表达式中使用择一匹配符号(|)。
择一匹配符号和逻辑或类似,只要满足任何一个,就算匹配成功。

#coding=utf-8

import re

pattern='aa|bb|cc'
s='aa'  #结果:'aa'
s='bb'  #结果:'bb'
s='cc'  #结果:'cc'
o=re.match(pattern,s)
print(o.group())


s='my name is cc'
o=re.match(pattern,s)
print(o.group()) #结果:None

o=re.search(pattern,s)
print(o.group()) #结果:'cc'




举例2、
#匹配0到100数字:(拆分成0-99|100)
pattern=r'[1-9]?\d$|100$'  #第一位1到9,可有可无,第二位\d代表任意数字
#pattern=r'[0-9]\d?|100' 这种写法有问题:会匹配出09这种数字不符合实际
s='0'     #结果:'0'
s='10'    #结果:'10'
s='99'    #结果:'99'
s='100'   #结果:'99'
s='101'   #结果:None
o=re.match(pattern,s)
print(o.group())
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容