import re
regex = r'(?!.*(\.|,)\1)[a-zA-Z]+'
test_str = "hello,world!good.boy"
matches = re.findall(regex, test_str)
print(matches)
解释:
(?!.*(\.|,)\1)
:这是一个否定预测先行断言,表示在整个字符串中不允许出现连续两个相同的点号或逗号。[a-zA-Z]+
:表示匹配一个或多个字母。这两个部分结合起来,就可以满足题目要求的正则表达式了。