正则表达式(补充)
Posted ronghe
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式(补充)相关的知识,希望对你有一定的参考价值。
定义:
正则表达式是对字符串操作的一种逻辑公式,用事先定义好的一些特定字符、以及特定字符的组合,组成一个‘规则字符串’,‘规则字符串’用来表达对字符串的一种过滤逻辑
正则表达式非python独有,在python中,re模块实现正则表达式
使用在线正则表达式测试样例:
import re #常规匹配 content = ‘hello 123 4567 world_this is a re demo‘ result = re.match(‘^hellosdddsd{4}sw{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(‘^hellos(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额
以上是关于正则表达式(补充)的主要内容,如果未能解决你的问题,请参考以下文章