良许Linux教程网 干货合集 python中使用正则表达式

python中使用正则表达式

正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为”元字符”)。

正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。

image-20220623223728196

在python中使用正则表达式,主要通过下面的几个方法

search(pattern, string, flags=0)

扫描整个string并返回匹配pattern的结果(None或对象)

有匹配的字符串的话返回一个对象(包含符合匹配条件的第一个字符串),否则返回None

import re
#导入正则库
 
content = 'Hello 1234567 Hello 666'
#要匹配的文本
res = 'Hello\s'
#正则字符串
 
result = re.search(res, content)
if result is not None:
    print(result.group())
    #输出匹配得到的字符串 'hello'(返回的得是第一个'hello')
        
print(result.span())
#输出输出匹配的范围(匹配到的字符串在原字符串中的位置的范围)
 
res1 = 'Hello\s(\d)(\d+)'
result = re.search(res1, content)
print(result.group(1))
#group(1)表示匹配到的第一个组(即正则字符串中的第一个括号)的内容
print(result.group(2))

findall(pattern, string, flags=0)

扫描整个context并返回匹配res的结果(None或列表)

有匹配的字符串的话返回一个列表(符合匹配条件的每个子字符串作为它的一个元素),否则返回None

import re
 
res = 'Hello\s'
results = re.findall(res, content)
if results is not None:
   print(results)
   #输出: ['hello','hello']
 
res1 = 'Hello\s(\d)(\d+)'
results = re.findall(res1, content)
if result is not None:
    print(results)
    # 当正则字符串中出现括号时,所得到列表的每个元素是元组
    # 每个元组的元素都是依次匹配到的括号内的表达式的结果
    #输出: [('1','1234567'),('6','666')]

sub(pattern, repl, string, count=0, flags=0)

可以来修改文本

用将用pattern匹配string所得的字符串替换成repl

import re
 
content = '54aK54yr5oiR54ix5L2g'
res = '\d+'
content = re.sub(res, '', content)
print(content)

compile(pattern, flags=0)

将正则表达式res编译成一个正则对象并返回,以便复用

import re
 
content1 = '2019-12-15 12:00'
content2 = '2019-12-17 12:55'
content3 = '2019-12-22 13:21'
pattern = re.compile('\d{2}:\d{2}')
result1 = re.sub(pattern, '', content1)
result2 = re.sub(pattern, '', content2)
result3 = re.sub(pattern, '', content3)
print(result1, result2, result3)

flags的一些常用值

re.I 使匹配对大小写不敏感

re.S 使.匹配包括换行符在内的所有字符

import re
re.compile(res, re.I)
#如果res可以匹配大写字母,那它也可以匹配相应的小写字母,反之也可
 
re.compile(res,re.S)
#使res中的'.'字符可以匹配包括换行符在内的所有字符

以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !

137e00002230ad9f26e78-265x300
本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部