python正则表达式

概念

正则表达式是一种字符串匹配的模式

作用
  • 检查一个字符串是否含有某种字串
  • 替换匹配的子串
  • 提取某个字符串中匹配的子串
正则表达式常用语法
  1. . 匹配除了换行符(\n)以外的所有字符
  2. \d 匹配[0-9]的数字
  3. \w 匹配字母数字_和中文
  4. *前面的一个匹配模式出现0次或者多次
  5. +前面的一个匹配模式出现1次或者多次
  6. ?前面的一个匹配模式出现0次或者1次
# 导入正则模块
import re

#字符匹配
rs1=re.findall('abc','abcggjgygabc')
rs2=re.findall('a.c','a\nc')
rs3=re.findall('a.c','abc')
rs4=re.findall('a\.c','a.c')
rs5=re.findall('a[bc]d','abd')
print(rs1)
print(rs2)
print(rs3)
print(rs4)
print(rs5)

#预定义的字符集
rs6=re.findall('\d','123')
rs7=re.findall('\w','Az758_你好')
print(rs6)
print(rs7)

#数量词
rs8=re.findall('a\d*','a123')
print(rs8)
rs9=re.findall('a\d+','a1')
print(rs9)
rs10=re.findall('a\d?','a123')
print(rs10)
rs11=re.findall('a\d{2]','a123')
print(rs11)
re.findall()方法
  • re.findall(pattern,string,flags=0)
  • 作用:扫描整个string字符串,返回所有与pattern匹配的列表
  • 参数
    • pattern:正则表达式
    • string:从那个字符串中查找
    • flags:匹配模式
  • 返回:返回string中与pattern匹配的结果列表
  • 特点:
    1. 如果正则表达式中没有()则返回与整个正则匹配的列表
    2. 如果有(),则返回()中匹配的内容列表,小括号两边都是负责确定提取的数据所在位置
正则中r原串的使用
  • r原串可以消除转义符带来的影响
  • 可以解决写正则的时候,不符合PEP8规范的问题
import re
# 不使用r原串

rs1=re.findall('a\nbc','a\nbc')
print(rs1)

rs2=re.findall('a\\nbc','a\\nbc')
print(rs2)

rs3=re.findall('a\\\nbc','a\\nbc')
print(rs3)

rs4=re.findall('a\\\\nbc','a\\nbc')
print(rs4)

#r原串可以消除转义符带来的影响
rs5=re.findall(r'a\\nbc','a\\nbc')
print(rs5)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值