文字が3つ以上連続する単語をreallyにreallyに置き換えようとしています。
pattern = re.compile(r"(.)\1\1{2,}", re.DOTALL)
return pattern.sub(r"\1\1\1", text)
私はそれを働かせることができません 誰かが助けることができますか?
文字が3つ以上連続する単語をreallyにreallyに置き換えようとしています。
pattern = re.compile(r"(.)\1\1{2,}", re.DOTALL)
return pattern.sub(r"\1\1\1", text)
私はそれを働かせることができません 誰かが助けることができますか?
必要がない場合は、正規表現を使用しないことをお勧めします。このタスクは、より読みやすい方法で、線形時間と一定の空間の複雑さ (正規表現については不明) を使用せずに簡単に実行できます。
def filter_repetitions(text, max_repetitions=0):
last_character = None
repetition_count = 0
for character in text:
if character == last_character:
repetition_count += 1
else:
last_character = character
repetition_count = 0
if repetition_count <= max_repetitions:
yield character
print ''.join(filter_repetitions("fooo baaaar actuallly", 1))