正则表达式 分支与分组

一、分支: |

正则1|正则2|正则3

#写一个正则匹配一个字符串:123abc 和 456abc
from re import fullmatch
re_str= r'123abc|456abc'
print(fullmatch(re_str,'456abc'))

二、()

1、分组

# abc出现3次
re_str= r'(abc){3}'
print(fullmatch(re_str,'abcabcabc'))

# 写一个正则匹配一个字符串:123abc 和 456abc
re_str=r'(123|456)abc'
print(fullmatch(re_str,'123abc'))

#两个数字两个字母的结构重复4次
re_str=r'(\d\d[a-zA-Z]{2}){4}'

2、重复

\M - 重复前面第M个分组匹配到的内容(M从1开始)

re_str=r'(\d\d)=\1abc'
print(fullmatch(re_str,'12=12abc'))

re_str= r'(\d\d)-([a-z]{3})-\2-\1'
print(fullmatch(re_str,'23-xcv-xcv-23'))

3、取括号中的部分

from re import fullmatch,findall
re_str = r'abc(\d*)'
print(findall(re_str,'abc123abc54abc1'))      #['123', '54', '1']

4、捕获

findall

三、转义符号:在具有特殊功能或者特殊意义的符号前加\,让功能消失

re_str=r'\.12'
print(fullmatch(re_str,'.12'))

# 注意:独立存在有特殊功能的符号在[]中功能会自动消失
re_str=r'[+-.]abc'
print(fullmatch(re_str,'.abc'))
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容