Python正则表达式查找重复数字

2024-09-27 04:27:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个python问题,想象一下下面的变量x。我想写一个正则表达式来帮助我找到任何重复的个位数。像1不重复,2被提到两次,3是3次。在

x='1234328732'#a string of digits

re.search(r'(\d+).*\1', x).group(1) 

这是我的想法,但这只是给了我一个模式的回归。由于没有重复的模式,所以上面没有返回任何内容。但是如果

^{pr2}$

它将返回123 但重复的模式不是我想要的。我想要重复的数字。所以对于第一个x,它应该是2,3 第二个x应该是1,2,3

这主要是为了学习这个概念 泰铢


Tags: ofre概念内容searchstring模式group
1条回答
网友
1楼 · 发布于 2024-09-27 04:27:08

可能是这样的,使用Counter()

>>> import re
>>> from collections import Counter

>>> x='1234328732'
>>> c=Counter(re.findall(r'\d',x))
>>> [x for x in c if c[x]>1]
['3', '2']


>>> x='1231231234' 
>>> c=Counter(re.findall(r'\d',x))
>>> [x for x in c if c[x]>1]
['1', '3', '2']

相关问题 更多 >

    热门问题