博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python常用模块-re 正则表达式
阅读量:4921 次
发布时间:2019-06-11

本文共 1234 字,大约阅读时间需要 4 分钟。

常用表达式规则

'.'     默认匹配除\n之外的任意一个字符,若指定flag DOTALL,则匹配任意字符,包括换行'^'     匹配字符开头,若指定flags MULTILINE,这种也可以匹配上(r"^a","\nabc\neee",flags=re.MULTILINE)'$'     匹配字符结尾, 若指定flags MULTILINE ,re.search('foo.$','foo1\nfoo2\n',re.MULTILINE).group() 会匹配到foo1'*'     匹配*号前的字符0次或多次, re.search('a*','aaaabac')  结果'aaaa''+'     匹配前一个字符1次或多次,re.findall("ab+","ab+cd+abb+bba") 结果['ab', 'abb']'?'     匹配前一个字符1次或0次 ,re.search('b?','alex').group() 匹配b 0次'{m}'   匹配前一个字符m次 ,re.search('b{3}','alexbbbs').group()  匹配到'bbb''{n,m}' 匹配前一个字符n到m次,re.findall("ab{1,3}","abb abc abbcbbb") 结果'abb', 'ab', 'abb']'|'     匹配|左或|右的字符,re.search("abc|ABC","ABCBabcCD").group() 结果'ABC''(...)' 分组匹配, re.search("(abc){2}a(123|45)", "abcabca456c").group() 结果为'abcabca45''\A'    只从字符开头匹配,re.search("\Aabc","alexabc") 是匹配不到的,相当于re.match('abc',"alexabc") 或^'\Z'    匹配字符结尾,同$ '\d'    匹配数字0-9'\D'    匹配非数字'\w'    匹配[A-Za-z0-9]'\W'    匹配非[A-Za-z0-9]'s'     匹配空白字符、\t、\n、\r , re.search("\s+","ab\tc1\n3").group() 结果 '\t''(?P...)' 分组匹配 re.search("(?P[0-9]{4})(?P[0-9]{2})(?P[0-9]{4}

re的匹配语法有以下几种

re.match 从头开始匹配

re.search 匹配包含
re.findall 把所有匹配到的字符放到以列表中的元素返回
re.split 以匹配到的字符当做列表分隔符
re.sub 匹配字符并替换
re.fullmatch 全部匹配

正则理解

每种规则都代表一个都有其表达的意思

转载于:https://www.cnblogs.com/tianhen/p/11265888.html

你可能感兴趣的文章
JavaScript变量及数据类型
查看>>
Python 笔试 —— 效率与优雅
查看>>
windows 10 使用 tricks
查看>>
音乐的聆听 & 古典音乐的入门
查看>>
eclipse打开html文件
查看>>
转csdn某位同学的 感谢bmfont
查看>>
linux 添加、删除 route
查看>>
oracle 常用的几个网址
查看>>
oracle 12.2.0.1 使用 active dataguard broker 之一
查看>>
robotframework连接mysql数据库
查看>>
iOS-远程通知
查看>>
Warcraft love Air Jordan 9 Olive
查看>>
memcached全面剖析—— 客户端选择(一致性哈希算法)
查看>>
米洛个人修炼术:情绪的四种常用处理方式,其实都是有问题的
查看>>
[翻译] Virtual method interception 虚方法拦截
查看>>
--- git-svn 使用环境和步骤
查看>>
flutter AS 打包
查看>>
Python webpy微信公众号开发之 回复图文消息
查看>>
ubuntu多版本cuda并存与切换【两个博客链接】
查看>>
html5新特性之DOCTYPE声明
查看>>