python 正则法则 组的匹配

博客介绍了Python在匹配连续相同字符串中的应用,属于字符串匹配的简介内容,还给出了整句话匹配的实例,聚焦于Python在字符串匹配方面的相关知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文章目录

1、简介

一般在匹配连续相同的字符串中使用

2、实例
import  re

string = "0abcdabcdabcdabcd2abcd3abc2ab"    # 此时 想匹配  abcdabcdabcdabcd 者4 个连续的 abcd

match = re.findall("abcd",string)  
print(match)
# ['abcd', 'abcd', 'abcd', 'abcd', 'abcd'] 不满足

match = re.findall("[abcd]",string)   # 此时 想匹配  abcdabcdabcdabcd 者4 个连续的 abcd
print(match)
# 不满足 ['a', 'b', 'c', 'd', 'a', 'b', 'c', 'd', 'a', 'b', 'c', 'd', 'a', 'b', 'c', 'd', 'a', 'b', 'c', 'd', 'a', 'b', 'c', 'a', 'b']

match = re.search("(abcd){4}",string).group()   # 此时 需要用到 search
print(match)
# abcdabcdabcdabcd

对于整句话 的一个 匹配

import  re

string = "Flowers fall deliberately , water ruthlessly"

# 比如我们想 把 fall deliberately , water 匹配出来  ,
finaall = re.search("Flowers(.*)ruthlessly",string)
print(finaall)
#<re.Match object; span=(0, 44), match='Flowers fall deliberately , water ruthlessly'>
print(finaall.group(1))
# fall deliberately , water

# 比如我们想 把 fall 和 water 匹配出来
finaall = re.search("Flowers (.*) deliberately , (.*)ruthlessly",string)
print(finaall)
#<re.Match object; span=(0, 44), match='Flowers fall deliberately , water ruthlessly'>
print(finaall.group(1))
#fall
print(finaall.group(2))
#water


# " ." 会把除了 \n  以外的所有字符匹配出来
string = "a3!@#$%^&*()[/., \t \n   "
list = re.findall(".",string)
print(list)
#['a', '3', '!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '[', '/', '.', ',', ' ', '\t', ' ', ' ', ' ', ' ']

# " ." 会把除了 \n  以外的所有字符匹配出来
string = "a3!@#$%^&*()[/., \t \n   "
list = re.findall(".",string,re.S)     # 要想匹配出来 ,添加 参数 re.S
print(list)
#['a', '3', '!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '[', '/', '.', ',', ' ', '\t', ' ', '\n', ' ', ' ', ' ']
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值