熊顺祥 发表于 2020-4-30 10:44:21

正则表达式简单的使用

import re
result = re.findall('..','abc')
print(result)




问题描述:1、为什么匹配结果只有['ab'] 而没有'['bc']
2、如何匹配到['ab','bc']

kaohsing 发表于 2020-4-30 10:44:22

熊顺祥 发表于 2020-4-30 11:00
我不是需要匹配abc,我需要匹配['ab','bc']同时匹配出来

试试吧:


kaohsing 发表于 2020-4-30 10:58:53

#如果你点三个点,就匹配abc了
import re
result = re.findall('...','abc')
print(result)、
#如果匹配1000个,需要点1000个点。但是问题不是这样解决的,所以需要简化一下
.{1,1000} 或者.*   ,或者\w* ==.

熊顺祥 发表于 2020-4-30 11:00:39

kaohsing 发表于 2020-4-30 10:58
#如果你点三个点,就匹配abc了
import re
result = re.findall('...','abc')


我不是需要匹配abc,我需要匹配['ab','bc']同时匹配出来

kaohsing 发表于 2020-4-30 11:03:56

熊顺祥 发表于 2020-4-30 11:00
我不是需要匹配abc,我需要匹配['ab','bc']同时匹配出来

那这个不是简单正则匹配

wp231957 发表于 2020-4-30 11:08:32

熊顺祥 发表于 2020-4-30 11:00
我不是需要匹配abc,我需要匹配['ab','bc']同时匹配出来

正常是无法实现
我记得在哪看到过实现过的,挺难吧,涉及神马回溯

kaohsing 发表于 2020-4-30 11:48:49

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

以前帮你写过吧?

永恒的蓝色梦想 发表于 2020-4-30 11:53:08

熊顺祥 发表于 2020-4-30 11:00
我不是需要匹配abc,我需要匹配['ab','bc']同时匹配出来

正则做不到,自己实现KMP吧

wp231957 发表于 2020-4-30 11:53:56

kaohsing 发表于 2020-4-30 11:48
以前帮你写过吧?

嗯,可惜太复杂,我记不住

熊顺祥 发表于 2020-4-30 12:06:06

熊顺祥 发表于 2020-4-30 11:00
我不是需要匹配abc,我需要匹配['ab','bc']同时匹配出来

厉害,很厉害{:5_110:}
页: [1]
查看完整版本: 正则表达式简单的使用