首页 > 其他 > 详细

正则表达式(补充)

时间:2018-06-10 13:56:07      阅读:325      评论:0      收藏:0      [点我收藏+]

前文

定义:

正则表达式是对字符串操作的一种逻辑公式,用事先定义好的一些特定字符、以及特定字符的组合,组成一个‘规则字符串’,‘规则字符串’用来表达对字符串的一种过滤逻辑

正则表达式非python独有,在python中,re模块实现正则表达式

在线正则表达式测试

使用在线正则表达式测试样例:

技术分享图片

技术分享图片

import re

#常规匹配
content = ‘hello 123 4567 world_this is a re demo‘
result = re.match(‘^hello\s\d\d\d\s\d{4}\s\w{10}.*demo‘,content)
print(result)
输出结果:
<_sre.SRE_Match object; span=(0, 38), match=‘hello 123 4567 world_this is a re demo‘>
#泛匹配
content = ‘hello 123 4567 world_this is a re demo‘
result = re.match(‘^hello.*demo$‘,content)
print(result)
#匹配目标
content = ‘hello 1234567 world_this is a re demo‘
result = re.match(‘^hello\s(\d+)\sworld.*demo$‘,content)
print(result)
print(result.group(1))
输出结果为:1234567
#贪婪匹配
content = ‘hello 1234567 world_this is a re demo‘
result = re.match(‘^hello.*(\d+).*demo$‘,content)
print(result)
print(result.group(1))
输出结果为:

<_sre.SRE_Match object; span=(0, 37), match=‘hello 1234567 world_this is a re demo‘>
7
可以看出group(1)只匹配到7
.*会尽可能多的进行匹配,这就是贪婪匹配
content = ‘hello 1234567 world_this is a re demo‘
result = re.match(‘^hello.*?(\d+).*demo$‘,content)
print(result)
print(result.group(1))
输出结果为:
<_sre.SRE_Match object; span=(0, 37), match=‘hello 1234567 world_this is a re demo‘>
1234567
在.*后面加上一v额

  

  

  

  

 

 

正则表达式(补充)

原文:https://www.cnblogs.com/ronghe/p/9162482.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!