正则表达式(补充)

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额

  

  

  

  

 

 











以上是关于正则表达式(补充)的主要内容,如果未能解决你的问题,请参考以下文章

text 正则表达式片段

markdown 正则表达式模式片段

正则表达式(补充)

Python 正则表达式 补充

正则表达式补充

正则表达式实践补充完整篇