正则表达式(python的re模块)

Python中,re模块提供了正则表达式操作所需要的基本功能

一、正则表达式元字符

1.元字符:.

匹配除换行符以外的任意单个字符

2.元字符:?

匹配?之前的0或1个字符

3.元字符:*

匹配*之前的0或多个字符

4.元字符:+

匹配+之前的1或多个字符

5.元字符:|

匹配|之前或之后的字符

6.元字符:\

表明\后为转义字符

7.元字符:^

匹配行首,匹配以^后面字符开头的字符串

8.元字符:$

匹配行尾,匹配以$前面字符结尾的字符串

9.元字符:[]

匹配位于[]中的任意一个字符

10.元字符:-

用在[]之内用来表示范围

11.元字符:()

将位于()内的内容作为一个整体对待

12.元字符:{}

按{}中的次数进行匹配

13.元字符:\b\B

匹配单词头、单词尾,\\不明意义,非单词头、单词尾

14.元字符:\d\D

匹配任何数字,相当于[0-9]相反

15.元字符:\s\S

匹配任何空白字符 相反

16.元字符:\w\W

匹配任何字母、数字、下划线,相当于[a-zA-Z0-9_]相反

  • 如果原字符串中有\d出现,想查找它,需要在正则中用\\\d
  • 如果原子符串中有+[]等符号出现,想查找他,需要在正则前加一个\即可
二、注意事项

1.数量词的贪婪模式与非贪婪模式

正则表达式通常用于在文本中查找匹配的字符串。Python里数量词默认是贪婪的(在少数语言里也可能是默认非贪婪),总是尝试匹配尽可能多的字符;非贪婪的则相反,总是尝试匹配尽可能少的字符。例如:正则表达式”ab*”如果用于查找”abbbc”,将找到”abbb”。

而如果使用非贪婪的数量词”ab*?”,将找到”a”,加个问号代表尽可能少的匹配。

除非结尾有特定要求,一般都是贪婪的。

2.反斜杠的困扰

与大多数编程语言相同,正则表达式里使用”\”作为转义字符,这就可能造成反斜杠困扰。假如你需要匹配文本中的字符”\”,那么使用编程语言表示的正则表达式里将需要4个反斜杠”\\”:前两个和后两个分别用于在编程语言里转义成反斜杠,转换成两个反斜杠后再在正则表达式里转义成一个反斜杠。Python里的9原生字符串很好地解决了这个问题,这个例子中的正则表达式可以使用r”\”表示。同样,匹配一个数字的”\d”可以写成r”\d”。有了原生字符串,你再也不用担心是不是漏写了反斜杠,写出来的表达式也更直观。

三、re模块

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,您想了解Python正则表达式re模块。re模块Python的标准库之一,用于处理正则表达式正则表达式是一种用于匹配和搜索文本的模式,它可以用来检查字符串是否符合特定的格式,或者从字符串中提取想要的信息。 re模块提供了一系列函数和方法来操作正则表达式,包括: - re.compile(pattern, flags):编译正则表达式,返回一个正则表达式对象。 - re.search(pattern, string, flags):在字符串中搜索匹配正则表达式的第一个位置,返回一个匹配对象。 - re.match(pattern, string, flags):从字符串开头开始匹配正则表达式,返回一个匹配对象。 - re.findall(pattern, string, flags):返回字符串中所有匹配正则表达式的子串列表。 - re.sub(pattern, repl, string, count=0, flags=0):用指定的替换字符串替换字符串中所有匹配正则表达式的子串,返回替换后的字符串。 其中,pattern参数是正则表达式,string参数是要匹配的字符串,flags参数是可选的标志,用来控制正则表达式的行为。 例如,下面的代码展示了如何使用re模块来匹配一个简单的正则表达式: ```python import re text = 'Hello, World!' pattern = r'Hello' match = re.search(pattern, text) if match: print('Match found:', match.group()) else: print('No match') ``` 输出结果为: ``` Match found: Hello ``` 以上就是Python正则表达式re模块的基本介绍,希望能帮到您。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ʚ闫没谱ɞ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值