r = re.findall("[z|f]ood", s1)# 匹配"zood"或"food"print(r) 运行结果:
['zood', 'food']2.8 分组元字符 ()将括号之间的表达式定义为组(group) , 并且将匹配这个子表达式的字符返回
s1 = "znzoodnfood"r = re.findall("[z|f]o*", s1)# 不加分组 , 拿到的引号内正则表达式匹配到的字符print(r)运行结果:
['z', 'zoo', 'foo']r = re.findall("[z|f](o*)", s1)# 加上分组 , 返回的将是引号内正则表达式匹配到的字符中()中的内容 。print(r)# ['', 'oo', 'oo']运行结果:
['', 'oo', 'oo']2.9转义元字符 用来匹配元字符本身时的转义 , 和特定字符组成字符串 , 见预定义字符组
s = '12345@qq.com'r = re.findall('.', s)print(r)运行结果:
['.']2.10 非贪婪模式非贪婪模式在默认情况下 , 元字符 *,+ 和 {n,m} 会尽可能多的匹配前面的子表达式 , 这叫贪婪模式 。
s = "abcadcaec"r = re.findall(r"ab.*c", s)# 贪婪模式 , 尽可能多的匹配字符(.*或者.+)print(r) ['abcadcaec']在重复元字符后面加上一个?号就表示非贪婪 , 尽可能少的匹配
r = re.findall(r"ab.+?c", s)# 非贪婪模式 , 尽可能少的匹配字符print(r) ['abcadc'] r = re.findall(r"ab.*?c", s)# 非贪婪模式 , 尽可能少的匹配字符print(r) ['abc'] s = "<a href=https://www.isolves.com/it/cxkf/yy/Python/2023-09-14/' asdf'>1360942725"a = re.findall('d', s)print(a) ['1', '3', '6', '0', '9', '4', '2', '7', '2', '5'] a = re.findall('D', s)print(a)['<', 'a', ' ', 'h', 'r', 'e', 'f', '=', "'", ' ', 'a', 's', 'd', 'f', "'", '>', '<', '/', 'a', '>'] s = 'fdfa**68687+ 我怕n fdgtf_dn'a = re.findall('s', s)print(a)[' ', ' ', 't', 'n'] a = re.findall("w", s)print(a)['f', 'd', 'f', 'a', '6', '8', '6', '8', '7', '我', '怕', 'n', 'f', 'd', 'g', 'f', '_', 'd'] 3. 预定义字符组元字符 与某些字符组合在一起表示特定的匹配含义
3.1 d匹配单个数字 , 等价于[0-9]
s = "<a href=https://www.isolves.com/it/cxkf/yy/Python/2023-09-14/' asdf'>1360942725"a = re.findall('d', s)print(a)
运行结果:
['1', '3', '6', '0', '9', '4', '2', '7', '2', '5']a = re.findall('d+', s)print(a)运行结果:
['1360942725']3.2 D匹配任意单个非数字字符 , 等价于[^0-9]
a = re.findall('D', s)print(a) 结果:
['<', 'a', ' ', 'h', 'r', 'e', 'f', '=', "'", ' ', 'a', 's', 'd', 'f', "'", '>', '<', '/', 'a', '>'] 3.3 s匹配任意单个空白符 , 包括空格 , 制表符(tab) , 换行符等
s = 'fdfa**68687+ 我怕n fdgtf_dn'a = re.findall('s', s)print(a)运行结果:
[' ', ' ', 't', 'n']
推荐阅读
- 必吃!五大降脂明星食品
- 企业最需要什么样的Python工程师?了解一下!
- 比C语言还快20%!Mojo首个大模型开放下载,性能达Python版250倍
- OpenTelemetry入门看这一篇就够了
- 超越NumPy和Pandas:三个鲜为人知的Python库
- 五步让你掌握Python数据结构
- 挑战用 500 行 Python 写一个 C 编译器
- 带T的车开之前是否需要热车?一篇文章告诉你!
- 一篇文章告诉你,CG原画是什么?
- 2023年编程语言榜单,Python继续领跑!SQL在工作需求中夺魁
