python re模块匹配重复单词
今天在用到re模块时要用到匹配重复单词的功能,但做了几个实现好像都有点问题,要匹配的是abcabcabc或者是appleappleapple这样的三个单词重复相联的模式,...
今天在用到re模块时要用到匹配重复单词的功能,但做了几个实现好像都有点问题,要匹配的是abcabcabc或者是appleappleapple这样的三个单词重复相联的模式,期望有人能给出
展开
3个回答
展开全部
import re
s1 = 'cbccbcpower@power3g3g'
s2 = 'appleapple56tototowidth'
p = re.compile(r'(\w+)\1+')
print p.findall(s2)
print p.findall(s1)
>>>
['apple', 'to']
['cbc', '3g']
>>>
s1 = 'cbccbcpower@power3g3g'
s2 = 'appleapple56tototowidth'
p = re.compile(r'(\w+)\1+')
print p.findall(s2)
print p.findall(s1)
>>>
['apple', 'to']
['cbc', '3g']
>>>
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
>>> a="abcabcabc"
>>> import re
>>> restr="[abc]+"
>>> reobj=re.compile(restr)
>>> match=reobj.match(a)
>>> if match:
... print match
...
<_sre.SRE_Match object at 0x020BA988>
>>> print match.string
abcabcabc
>>>
>>> import re
>>> restr="[abc]+"
>>> reobj=re.compile(restr)
>>> match=reobj.match(a)
>>> if match:
... print match
...
<_sre.SRE_Match object at 0x020BA988>
>>> print match.string
abcabcabc
>>>
更多追问追答
追问
谢谢你的回答,不过好像这个答案不太对,这个会把单个字符的"a"也匹配到,而且我需要得到的是任意单词的三次重复结果,能不能再看一下。
追答
你测试过吗?这个是直接从python 命令行运行后拷贝出来的。别想当然。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
试一下将 testrab给你的答案的 这句restr = "[abc]+" 改成restr = "(abc)+"试试吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询