python基础:正则、re模块、贪婪和非贪婪

一、定义

正则表达式(regular expression)描述了一种字符串匹配的模式(pattern)。 可以用来检查一个串,是否含有某种子串。 将匹配的子串替换或者从某个串中取出符合某个条件的子串等。

元字符:在正则表达式中被赋予特殊意义的符号↓↓↓↓↓↓↓
在这里插入图片描述

二、re模块(regular expression)

(1)re 模块使 Python 语言拥有全部的正则表达式功能。
(2)compile 函数根据一个模式字符串和可选的标志参数生成一个正则表达式对象。该对象拥有一系列方法用于正则表达式匹配和替换。
(3)re 模块也提供了与这些方法功能完全一致的函数,这些函数使用一个模式字符串做为它们的第一个参数。

2.1 常用方法

方法实现功能语法格式
compile()compile 函数用于编译正则表达式,生成一个正则表达式( Pattern )对象,供 match() 和 search() 这两个函数使用。re.compile(pattern[, flags])
search()在整个字符串中查找,返回第一个匹配内容,如果找到返回match对象,没找到返回Nonere.search(pattern, string, flags=0)
match()从字符串的第一个字符开始匹配,如果找到返回match对象,没找到返回Nonere.match(pattern, string, flags=0)
findall()在字符串中匹配,如果成功返回match对象,如果失败返回Nonefindall(string[, pos[, endpos]])
finditer()在字符串中匹配,如果成功返回match可迭代对象,如果失败返回None
split()按照匹配的字符串进行分割
sub()替换匹配的子字符串,返回替换之后的字符串

2.2 修饰符

re.compile(pattern[, flags]) 中flags 的参数

修饰符实现功能
re.I忽略大小写
re.L表示特殊字符集 \w, \W, \b, \B, \s, \S 依赖于当前环境
re.M多行模式
re.S即为 . 并且包括换行符在内的任意字符(. 不包括换行符)
re.U表示特殊字符集 \w, \W, \b, \B, \d, \D, \s, \S 依赖于 Unicode 字符属性数据库
re.X为了增加可读性,忽略空格和 # 后面的注释

从字符串的起始位置,匹配一个模式。匹配成功re.match方法返回一个匹配的对象,否则返回None。如果不是起始位置匹配成功,也返回none

语法:

re.match(pattern, string, flags=0)

参数描述
pattern匹配的正则表达式
string要匹配的字符串
flags标志位,用于控制正则表达式的匹配方式。如:是否区分大小写,多行匹配等等

2.3 实例

三、贪婪、非贪婪

  1. 什么是贪婪匹配: 贪婪匹配在匹配字符串时总是尝试匹配尽可能多的字符。
  2. 什么是非贪婪匹配:与贪婪匹配相反,非贪婪匹配在匹配字符串时总是尝试匹配尽可能少的字符。、
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值