Bir satırdaki art arda yinelenen sözcükleri kaldırmak için normal bir ifade kullanabilirsiniz, ancak ardışık olmayan (örneğin dangerous, hazardous, dangerous
) yinelenen sözcükleri kaldırmanın mümkün olduğunu düşünmüyorum .
Bu normal ifadeyi Notepad ++ içindeki değiştirme penceresinde kullanın ve aşağıdaki Arama Modu seçeneği olarak "Normal ifade" yi seçmeyi unutmayın:
Bu regex tüm ardışık yinelenen kelimeleri kaldırır - bu arka arkaya 2 yinelenen kelime veya 10 çoğaltılamaz kelimeleri olsun: \b(\w+)(?:,\s+\1\b)+
.
Aynı virgül içermeyen normal ifade şu şekildedir: \b(\w+)(?:\s+\1\b)+
(diğer kullanıcılar için yararlı olabilir).
Özellikle sadece iki çoğaltılamaz kelimeler (çift) için bir regex istiyorsanız, bu normal ifadeler kullanabilirsiniz: (\b\w+\b)\W+\1
.
Bu regex yerleştirin değiştirin kelimenin kez kullanıldığını tutmak için kutunun (aksi takdirde tüm tekrarlanan kelimeler silinecektir): ${1}
.
Bu düzenli ifadeler, sorunuzda açıkladığınız gibi bir durumu örnek olarak düzeltir. İlk regex her sayıda yinelenen kelime (ör. dangerous, dangerous, dangerous, dangerous, hazardous
) İçin kullanılırken, ikinci sürüm yalnızca iki yinelenen kelime (ör. dangerous, dangerous, hazardous
) İçin çalışır.
Not: Normal ifade sadece biçimleri gibi, yani söz konusu açıklanan formatta uygulanır two words, two words, anotherword
, two-words, two-words, anotherword
, three words expression, three words expression, anotherword
regex onlar için geçerli değildir çünkü değişmeyecektir.
dangerous,hazardous,dangerous,perilous
? Başka bir deyişle, yinelenen kelimeler her zaman yan yana mıdır?