鱼C论坛

 找回密码
 立即注册
查看: 946|回复: 9

[已解决]正则表达式简单的使用

[复制链接]
发表于 2020-4-30 10:44:21 | 显示全部楼层 |阅读模式
6鱼币
import re
result = re.findall('..','abc')
print(result)




问题描述:1、为什么匹配结果只有['ab'] 而没有'['bc']
2、如何匹配到['ab','bc']
最佳答案
2020-4-30 10:44:22
熊顺祥 发表于 2020-4-30 11:00
我不是需要匹配abc,我需要匹配['ab','bc']同时匹配出来

试试吧:


1.png

最佳答案

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-30 10:44:22 | 显示全部楼层    本楼为最佳答案   
熊顺祥 发表于 2020-4-30 11:00
我不是需要匹配abc,我需要匹配['ab','bc']同时匹配出来

试试吧:


1.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-30 10:58:53 | 显示全部楼层
#如果你点三个点,就匹配abc了
import re
result = re.findall('...','abc')
print(result)、
#如果匹配1000个,需要点1000个点。但是问题不是这样解决的,所以需要简化一下
  .{1,1000} 或者.*   ,或者\w* ==.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-4-30 11:00:39 | 显示全部楼层
kaohsing 发表于 2020-4-30 10:58
#如果你点三个点,就匹配abc了
import re
result = re.findall('...','abc')

我不是需要匹配abc,我需要匹配['ab','bc']同时匹配出来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-30 11:03:56 | 显示全部楼层
熊顺祥 发表于 2020-4-30 11:00
我不是需要匹配abc,我需要匹配['ab','bc']同时匹配出来

那这个不是简单正则匹配
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-30 11:08:32 From FishC Mobile | 显示全部楼层
熊顺祥 发表于 2020-4-30 11:00
我不是需要匹配abc,我需要匹配['ab','bc']同时匹配出来

正常是无法实现
我记得在哪看到过实现过的,挺难吧,涉及神马回溯
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-30 11:48:49 | 显示全部楼层
wp231957 发表于 2020-4-30 11:08
正常是无法实现
我记得在哪看到过实现过的,挺难吧,涉及神马回溯

以前帮你写过吧?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-30 11:53:08 | 显示全部楼层
熊顺祥 发表于 2020-4-30 11:00
我不是需要匹配abc,我需要匹配['ab','bc']同时匹配出来

正则做不到,自己实现KMP吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-30 11:53:56 From FishC Mobile | 显示全部楼层
kaohsing 发表于 2020-4-30 11:48
以前帮你写过吧?

嗯,可惜太复杂,我记不住
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-4-30 12:06:06 | 显示全部楼层
熊顺祥 发表于 2020-4-30 11:00
我不是需要匹配abc,我需要匹配['ab','bc']同时匹配出来

厉害,很厉害
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-28 11:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表