Ciallo~(∠・ω・ )⌒☆第二十一篇 入门re 正则表达式

在Python中,re模块是用于处理正则表达式的模块。使用re模块,可以通过正则表达式来匹配、查找、替换字符串。

下面是一些re模块常用的方法:

re.match(pattern, string):从字符串的开始位置匹配一个模式,如果匹配成功,则返回一个匹配对象,否则返回None。

result = re.match(r"abc", "abcabcd")
print(result)

输出:

<re.Match object; span=(0, 3), match='abc'>

re.search(pattern, string):在字符串中搜索匹配模式的第一个位置,如果匹配成功,则返回一个匹配对象,否则返回None。

result = re.search(r"abc", "abcabcdabcde")
print(result)

输出:

<re.Match object; span=(0, 3), match='abc'>

re.findall(pattern, string):在字符串中搜索匹配模式的所有位置,并以列表形式返回所有匹配的字符串。

result = re.findall(r"\d{2,4}?", "123456789")
print(result)

输出:

['12', '34', '56', '78']

re.sub(pattern, repl, string):用指定的替换字符串将匹配模式的所有位置替换,然后返回替换后的字符串。

result = re.sub(r"a\dc", "醒醒啦", "a1ca2cda3cde", count=2)
print(result)

输出:

醒醒啦醒醒啦da3cde

此外,还有字符串中的关键词检索:

\W 非 数字 字母 下划线
\d 数字
\D 非数字
\s 空白
\S 非空白
. 任意字符 除了\n 除非使用re.S 可以匹配所有
^ 开头 re.M 可以匹配\n
$ 结尾 re.M 可以匹配\n

 在检索后面可以加上*,+,?使用贪婪匹配:

* 代表有>=0 个
+ 代表有>=1 个
? 代表有 1 个 或者0个

如果不想使用贪婪匹配,那么需要加上非贪婪:

非贪婪: 尽可能匹配少个数

在贪婪模式后方追加一个?

{n} 匹配n次,{m,n} 匹配m-n次,{m,n}? 非贪婪匹配

result = re.findall(r"\d{2,4}?", "123456789")
print(result)

输出:

['12', '34', '56', '78']

[] 匹配其中一个,| 或者,() 分组

result = re.findall(r"[1-9]|[a-z]", "123456789abcdxyzABCDXYZ")
print(result)

输出:

['1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'x', 'y', 'z']

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值