Python正则表达式:检测具有重复字符的单词

Python正则表达式:检测具有重复字符的单词,python,regex,artificial-intelligence,words,Python,Regex,Artificial Intelligence,Words,我想知道我是否能识别出单词“hey”,但它的形式是:“heeey” 在python中如何实现这一点? 我搜索了很多次,但没有找到答案 *我希望程序最终能像‘嘿’一样理解‘嘿’的意思 import re p = re.compile(r'(.)\1+') test_str = "heeeey" subst = r"\1" result = re.sub(p, subst, test_str) 您可以通过re.sub来完成。在这里,我们捕获前面重复的字符,并将其全部替换为\1。因此,所有重复都将

我想知道我是否能识别出单词“hey”,但它的形式是:“heeey” 在python中如何实现这一点? 我搜索了很多次,但没有找到答案

*我希望程序最终能像‘嘿’一样理解‘嘿’的意思

import re
p = re.compile(r'(.)\1+')
test_str = "heeeey"
subst = r"\1"

result = re.sub(p, subst, test_str)
您可以通过
re.sub
来完成。在这里,我们捕获前面重复的
字符
,并将其全部替换为
\1
。因此,所有重复都将消失

见演示


类似于
h(.)\1+y
的东西可能?不,我试过了,但不起作用:/这个正则表达式是否也会使
meter
达到
met
?或者
你好
你好
等等?我想会的。。但如果我们给它添加例外情况,它就不会。。我在下面的答案中找到了答案。它运行良好,但它将是“hy”,而不是“hey”,这是我现在的问题。谢谢你的帮助。你能解释一下正则表达式吗?我不知道。。我准确地读取了您的代码,结果是'hy'@AmrEssam
r
将禁止python解释其转义序列。我明白了。谢谢你的帮助:)