正则表达式
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了正则表达式,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1575字,纯文字阅读大概需要3分钟。
内容图文
常用正则表达式操作符
. :表示任何单位个字符
[ ]:字符集,表示对单个字符给出取值范围,[abc]表示a,b,c,[a-z]表示a到z单个字符
[^ ]:非字符集,对单个给出排除范围,[^abc]表示非a或非b或非c的单个字符
*:前一个字符0次或者无限次扩展,*abc表示ab abc abcc abccc等
+:前一个字符1次或者无限次扩展
?:前一个字符o次或者1次扩展
|:左右表达式任意一个,abc|edf表示abc 或者def
当字符串中有转义字符是建议使用原生字符串raw string 即r‘text‘
# !/usr/bin/python3 import re match=re.search(r‘[1-9]\d{5}‘,‘BIT 100086‘) if match: print(match.group(0))
re.compile将原生正则表达式字符串编译成正则表达式对象,可以直接调用该对象(优点:可以多次调用该对象)
pat=re.compile(r‘[1-9]\d{5}‘) result=pat.search(‘BIT100081‘) print(result.group(0))
常用函数用法
# !/usr/bin/python3 import re match=re.search(r‘[1-9]\d{5}‘,‘BIT 100086‘) if match: print(match.group(0)) match1=re.findall(r‘[1-9]\d{5}‘,‘BIT100081 TSU100084‘) print(match1) match2=re.split(r‘[1-9]\d{5}‘,‘BIT100081 TSU100084‘) print(match2) match21=re.split(r‘[1-9]\d{5}‘,‘BIT100081 TSU100084‘,maxsplit=1) print(match21) for m in re.finditer(r‘[1-9]\d{5}‘,‘BIT100081 TSU100084‘): if m: print(‘m:‘,m.group(0)) match3=re.sub(r‘[1-9]\d{5}‘,‘zipCode‘,‘BIT100081 TSU100084‘) print(‘match3:‘,match3)
match对象的常用函数
import re m=re.search(r‘[1-9]\d{5}‘,‘TSU100084 BIT100081‘) print(‘将要匹配的字符串:‘+m.string) print(‘将要匹配的正则表达式:‘,m.re) print(‘开始匹配的起始位置:‘,m.pos) print(‘开始匹配的结束位置:‘,m.endpos) print(‘返回匹配的结果:‘,m.group(0)) print(‘匹配到的起始位置:‘,m.start()) print(‘匹配到的结束位置:‘,m.end()) print(‘匹配到的起始位置和结束位置:‘,m.span())
将要匹配的字符串:TSU100084 BIT100081 将要匹配的正则表达式: re.compile( ‘ [1-9]\\d{5} ‘ ) 开始匹配的起始位置: 0 开始匹配的结束位置: 19 返回匹配的结果: 100084 匹配到的起始位置: 3 匹配到的结束位置: 9 匹配到的起始位置和结束位置: (3, 9)
re库的贪婪匹配与最小匹配
re库默认贪婪匹配,如需最小匹配则需要在正则表达式合适的地方加?
原文:https://www.cnblogs.com/liberate20/p/10784104.html
内容总结
以上是互联网集市为您收集整理的正则表达式全部内容,希望文章能够帮你解决正则表达式所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。