python常用模块之re模块

本文介绍了Python中的re模块,详细讲解了正则表达式的基本概念、常用正则表达式元字符,并通过实例展示了re模块的方法,包括findall、match、search、finditer、sub、split以及escape和compile的用法,同时提到了re模块的ASCII、IGNORECASE、LOCALE、MULTILINE和DOTALL等属性。
摘要由CSDN通过智能技术生成

一、正则表达式

1、概念

正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法。或者说:正则就是用来描述一类事物的规则。(在Python中)它内嵌在Python中,并通过 re 模块实现。正则表达式模式被编译成一系列的字节码,然后由用 C 编写的匹配引擎执行。
在python中,其典型应用场景有:

  1. 数据验证
  2. 数据替换
  3. 文本扫描
  4. 文本提取
  5. 文本分割
2、常用正则表(元字符)

参考来源
在这里插入图片描述

3、代码示例
'''
re模块基础
Version:01
author:jasn
data:2020-02-21

常用匹配模式(元字符)
http://blog.csdn.net/yufenghyc/article/details/51078107
'''
import re
#
# ==========================================================================================================================================
# 效果演示
str1 = 'In 2020, I must learn Python! & @'

#  \w:匹配数字字母及下划线
print(re.findall('\w',str1))
# 结果:['I', 'n', '2', '0', '2', '0', 'I', 'm', 'u', 's', 't', 'l', 'e', 'a', 'r', 'n', 'P', 'y', 't', 'h', 'o', 'n']

#  \W:匹配非字母数字及下划线
print(re.findall('\W', str1))
#  结果 :[' ', ',', ' ', ' ', ' ', ' ', '!', ' ', '&', ' ', '@']

#  \s匹配任意空白符
print(re.findall('\s',str1))
#  结果:[' ', ' ', ' ', ' ', ' ', ' ', ' ']

# \S 匹配任意非空字符
print(re.findall('\S', str1))
#  结果:['I', 'n', '2', '0', '2', '0', ',', 'I', 'm', 'u', 's', 't', 'l', 'e', 'a', 'r', 'n', 'P', 'y', 't', 'h', 'o', 'n', '!', '&', '@']

# \d 匹配任意数字,等价于[0-9]
print(re.findall('\d', str1))
print(re.findall('[0-9]', str1))   # 结果相同
# 结果:['2', '0', '2', '0']

# 、\D 匹配任意非数字
print(re.findall('\D', str1))
# 结果 :['I', 'n', ' ', ',', ' ', 'I', ' ', 'm', 'u', 's', 't', ' ', 'l', 'e', 'a', 'r', 'n', ' ', 'P', 'y', 't', 'h', 'o', 'n', '!', ' ', '&', ' ', '@']

# A 匹配字符串的开始 ;\Z匹配字符串的结束,有返回匹配的值,无返回空
print(re.findall('\AIn', str1))  # ['In'],\A==>^
print(re.findall('@\Z', str1))  # ['@'],\Z==>$

# ^ 匹配字符串的开头;$匹配字符串的结束
print(re.findall('^I', str1))   # ['I']
print(re.findall('@$', str1))   # ['@']

# ===========================================================================================================================================
# 重复匹配:| . | * | ? | .* | .*? | + | {n,m} |
# ========================================================
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值