码迷,mamicode.com
首页 > 其他好文 > 详细

正则表达式(补充)

时间:2018-06-10 15:32:33      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:www.   公式   match   技术分享   图片   html   alt   组成   正则表达   

前文

定义:

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

正则表达式非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额

  

  

  

  

 

 

正则表达式(补充)

标签:www.   公式   match   技术分享   图片   html   alt   组成   正则表达   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!