正则表达式里转义字符_一文读懂正则表达式的基本用法

本文介绍了正则表达式的概念,包括常用符号、match和search函数的使用,以及贪婪匹配与非贪婪匹配的区别。重点讲解了如何处理包含换行符的匹配,以及转义字符在匹配中的作用。通过实例展示了如何在Python中使用re模块进行正则匹配,包括findall函数和compile函数的应用。
摘要由CSDN通过智能技术生成

什么是正则表达式?

正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。

正则表达式不是Python独有的,目前主流的开发语言都支持正则表达式,在Python中是使用re模块来实现正则表达式。

正则表达式常用符号

50553b54d63618fca3491b37531c1778.png

match函数

re.match会尝试从字符串的起始位置匹配一个字符串表达式,如果匹配成功就返回匹配结果,如果匹配失败就返回None.

比如这里有一个字符串:

content = 'open the command palette 123456 Hello world!'

我想要匹配出其中的数字,可以这样写:

import re

content = 'open the command palette 123456 Hello world!'

# 在match方法中,第一个参数为正则表达式,第二个参数为待匹配的字符串
result = re.match('^open.*?(d+).*?world!$', content)
print(result)
print(result.group(1)) 

<_sre.SRE_Match object; span=(0, 44), match='open the command palette 123456 Hello world!'>
123456

这里^open指定了字符串的开头,.*?表示以非贪婪模式匹配0或多个字符,(d+)表示我们想要提取的是1到多个数字,需要提取的内容一定要放在小括号里,后面接着.*?表示以非贪婪模式匹配0或多个字符,最后的world!$指定了字符串的结尾。

这里group(1)表示提取第一个小括号里的内容,如果有多个小括号,可分别使用group(2),group(3)来提取。

贪婪匹配与非贪婪匹配的区别

在上面的例子中,我们使用了.*?表示以非贪婪模式匹配0或多个字符,这里如果将?去掉,就变

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值