[英]Regex to find words having multiple occurrences of same string nearby position
我正在尝试使用正则表达式查找类似以下的单词。 但是,我找不到将字母与相同字母区分开的想法。
例如 :
text = ' I am sooo hungryyyy....Grrrh ...... helppp meeeeee '
pattern = re.compile(r"(.)\1{1,}", re.DOTALL)
这种模式不是那么有用。 不知道为什么。 我想要一个正则表达式匹配所有单词,例如sooo
, hungryyyy
, Grrrh
....
这意味着,如果一个字母同时重复或相邻重复至少2次。
如果您想将非空白与连续字符进行匹配,可以执行以下操作:
>>> import re
>>> text = 'I am sooo hungryyyy....Grrrh ...... helppp meeeeee'
>>> matches = re.findall(r'(\S*?(.)\2+\S*?)', text)
>>> [x[0] for x in matches]
['sooo', 'hungryyyy', '....', 'Grrr', '......', 'helppp', 'meeeeee']
这意味着,如果一个字母同时重复或彼此重复至少2次...
但是,如果您要查找文字字符,则您的模式将简单地更改:
>>> matches = re.findall(r'(\w*(\w)\2\w*)', text)
>>> [x[0] for x in matches]
['sooo', 'hungryyyy', 'Grrrh', 'helppp', 'meeeeee']
import re
text = ' I am sooo hungryyyy....Grrrh ...... helppp meeeeee '
for p in re.findall(r'(\w*(\w)\2\w*)', text):
print p
得到:
('sooo', 'o')
('hungryyyy', 'y')
('Grrrh', 'r')
('helppp', 'p')
('meeeeee', 'e')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.