创新互联Python教程:python3re结合正则表达式如何使用?

大概在十几年前,自动车还是大家比较流行的出门工具。后来人们觉得骑到很远的地方比较费劲,给自行车加上了电瓶,这就成了当时简易的电动车版本。同样的在python3的re模块中,正则表达式经常和re放在一起使用,小编认为两者的关系就类似于自动车和电瓶的组装,大家觉得呢?下面就讲讲结合在一起怎么使用吧。

成都创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都做网站、网站设计、外贸营销网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的哈巴河网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!


# 推荐使用 Python 正则表达式的几个步骤
import re
regex = re.compile(r'正则表达式') # 创建一个 Regex 对象,使用 r'' 原始字符串不需要转义
regex.match() #
regex.search() # 返回一个 Match 对象,包含被查找字符串中的第一次被匹配的文本
regex.findall() # 返回一组字符串列表,包含被查找字符串中的所有匹配
regex.sub()  # 替换字符串,接收两个参数,新字符串和正则表达式
...

简单示例:

>>> import re
>>> regex = re.compile(r'\b\w{6}\b') # 匹配6个字符的单词
>>> regex.search('My phone number is 421-2343-121')
>>> text = regex.search('My phone number is 421-2343-121')
>>> text.group()      # 调用 group() 返回结果
'number'
 
>>> regex = re.compile(r'0\d{2}-\d{8}|0\d{3}-\d{7}') # 注意分枝条件的使用
>>> text = regex.search('My phone number is 021-76483929')
>>> text.group()
'021-76483929'
>>> text = regex.search('My phone number is 0132-2384753')
>>> text.group()
'0132-2384753'
 
>>> regex = re.compile(r'(0\d{2})-(\d{8})') # 括号分组的使用
>>> text = regex.search('My phone number is 032-23847533')
>>> text.group(0)
'032-23847533'
>>> text.group(1)
'032'
>>> text.group(2)
'23847533'
 
>>> regex = re.compile(r'(0\d{2}-)?(\d{8})') # ?之前的分组表示是可选的分组,如果需要匹配真正的?,就使用转义字符\?
>>> text = regex.search('My phone number is 032-23847533')
>>> text.group()
'032-23847533'
>>> text = regex.search('My phone number is 23847533')
>>> text.group()
'23847533'
 
>>> regex = re.compile(r'(Py){3,5}') # Python 默认是贪心,尽可能匹配最长的字符串
>>> text = regex.search('PyPyPyPyPy')
>>> text.group()
'PyPyPyPyPy'
>>> regex = re.compile(r'(Py){3,5}?') # ? 声明非贪心,尽可能匹配最短的字符串
>>> text = regex.search('PyPyPyPyPy')
>>> text.group()
'PyPyPy'


其它正则规则可自行测试。下面是 Python 正则表达式的常用方法:

# 这里测试 findall() 以及 sub()
# findall()
>>> regex = re.compile(r'0\d{2}-\d{8}|0\d{3}-\d{7}')                       
>>> regex.findall('Cell: 021-38294729, Work: 0413-3243243')
['021-38294729', '0413-3243243']
 
>>> regex = re.compile(r'Hello \w+')
>>> regex.sub('Hello Python', 'falkdjfsk Hello c sldfjlksdj Hello java sdfsj')
'falkdjfsk Hello Python sldfjlksdj Hello Python sdfsj'

相信通过以上的三段代码,小伙伴们已经初步体会re结合正则表达式的运用了,看不懂的小伙伴多试几遍哦~更多Python学习推荐:PyThon学习网教学中心。

网页标题:创新互联Python教程:python3re结合正则表达式如何使用?
URL链接:http://www.stwzsj.com/qtweb/news11/14461.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联