python中使用正则表达式的方法详解

 更新时间:2022年03月29日 17:36:58   作者:coding白  
这篇文章主要为大家详细介绍了python中使用正则表达式的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助

在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中的'.'字符可以匹配包括换行符在内的所有字符

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

相关文章

  • 解决PDF 转图片时丢文字的一种可能方式

    解决PDF 转图片时丢文字的一种可能方式

    这篇文章主要介绍了解决PDF 转图片时丢字的一种可能方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • Python 实现Excel XLS和XLSX格式相互转换问题

    Python 实现Excel XLS和XLSX格式相互转换问题

    本文介绍如何使用Python库Spire.XLS for Python实现Excel文件的XLS和XLSX格式转换,提供了详细的安装指南和转换步骤,帮助用户在不同版本的Excel文件格式之间灵活转换,同时支持将Excel文件转换为PDF、图片、HTML等格式
    2024-10-10
  • Python Pygame实战之超级炸弹人游戏的实现

    Python Pygame实战之超级炸弹人游戏的实现

    如今的玩家们在无聊的时候会玩些什么游戏呢?王者还是吃鸡是最多的选择。但在80、90年代的时候多是一些很简单的游戏:《超级玛丽》、《魂斗罗》等。本文将利用Pygame制作另一个经典游戏—炸弹人,感兴趣的可以了解一下
    2022-03-03
  • django正续或者倒序查库实例

    django正续或者倒序查库实例

    这篇文章主要介绍了django正续或者倒序查库实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • 在keras里实现自定义上采样层

    在keras里实现自定义上采样层

    这篇文章主要介绍了在keras里实现自定义上采样层,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • Python实现自动上传文件到百度网盘

    Python实现自动上传文件到百度网盘

    这篇文章主要为大家详细介绍了如何利用Python实现自动上传文件到百度网盘功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起了解一下
    2023-04-04
  • python向xls写入数据(包括合并,边框,对齐,列宽)

    python向xls写入数据(包括合并,边框,对齐,列宽)

    这篇文章主要介绍了python向xls写入数据(包括合并,边框,对齐,列宽),帮助大家更好的利用python处理表格,感兴趣的朋友可以了解下
    2021-02-02
  • python之pkl文件的用法及说明

    python之pkl文件的用法及说明

    这篇文章主要介绍了python之pkl文件的用法及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • Python机器学习应用之基于线性判别模型的分类篇详解

    Python机器学习应用之基于线性判别模型的分类篇详解

    线性判别分析(Linear Discriminant Analysis, LDA)是一种监督学习的降维方法,也就是说数据集的每个样本是有类别输出。和之前介绍的机器学习降维之主成分分析(PCA)方法不同,PCA是不考虑样本类别输出的无监督学习方法
    2022-01-01
  • numpy实现神经网络反向传播算法的步骤

    numpy实现神经网络反向传播算法的步骤

    这篇文章主要介绍了numpy实现神经网络反向传播算法的步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12

最新评论