Notepad ++ 'da Önek Ve Eklemek İçin RegEX Kullanma


88

Bir txt dosyasında oldukça geniş bir kelime listem var ve Notepad ++ 'da bir normal ifade bulup değiştirmeye çalışıyorum. Her satırdan önce ve her satırdan sonra bir dize eklemem gerekiyor .. Böylece:

Wordone
iki kelime
kelime üç

olmak

yetenekli: "wordone"
yetenekli: "wordtwo"
yetenekli: "wordthree"

Bunu nasıl yapabilirim?


Üzgünüz, bu kelime dizgileri ayrı satırlarda olmalıdır! Bahse girerim bu işleri karıştırmıştır ...
zuk1

tatlı beni googling bir sürü kurtar :)
melaos

Yanıtlar:


174

Alfasayısal kelimeleri varsayarsak, şunları kullanabilirsiniz:

Search  = ^([A-Za-z0-9]+)$
Replace = able:"\1"

Veya yalnızca satırları vurgulamak ve "Tümünü Değiştir" ve "Seçimde" (aynı değiştirmeyle) kullanmak istiyorsanız:

Search = ^(.+)$

^çizginin başlangıcını gösterir.
$çizginin sonunu gösterir.

\1 parantez içindeki kaynak eşleşmesi olacaktır.


teşekkür ederim, yaklaşık 30 dakikalık aramadan sonra başarı için buraya
ulaştım

Bölgesel ifadeler hayat kurtarıcıdır. Yardım için teşekkürler.
Techgration

Açıklamak için mükemmel iş +1
SSH Bu

Vay be! Bu tam da ihtiyacım olan şey.
Chuck Le Butt

1
En son N ++ 'da ^([A-Za-z0-9]+)$hiçbir eşleşme döndürülmedi, ancak ^(.+)$her senaryoda çalıştı. Teşekkürler!
Laurie Stearn

29

Neden Notepad ++ çok satırlı düzenleme yeteneklerini kullanmıyorsunuz?

Metni seçerken (her zamanki tıkla ve sürükle yaklaşımınızı kullanarak) Alt tuşunu basılı tutarak birden çok satırdaki metni seçin. Bu bazen sütun düzenleme olarak da adlandırılır.

İmleci dosyanın başlangıcına yerleştirebilirsiniz, Alt, Shift tuşlarına basın (ve basılı tutun) ve ardından aşağı ok veya PageDown'a basarak bir metinle başa eklemek istediğiniz satırları seçin :-) Kolay. Çok satırlı düzenleme, Notepad ++ 'ın çok kullanışlı bir özelliğidir. Aynı şekilde Visual Studio'da ve ayrıca Alt + Shift + A tuşlarına basarak Blok Seçim Moduna geçerek ve ardından satırlar arasında metin seçmek için fareyi kullanarak Eclipse'de de mümkündür.


1
+1 Bu gerçekten harika, bunu yapabileceğini bilmiyordum. Her satırın uzunluğu farklı olduğunda her satırın sonuna bir şey eklemek mümkün müdür? Örneğin, 'sütun' genişliği değiştiğinde, her satıra metin ekleyebilseydiniz düzgün olurdu. Bir işlevler listem var ve "();" eklemem gerekiyor. her satıra ancak her işlev adı farklı bir genişliktedir. Bunu yapmak için şu anda bir Makro kullanıyorum, teşekkürler!
SSH Bu

5
eklemek için muhtemelen en iyisi "Genişletilmiş" arama modunu kullanarak basit bul / değiştir kullanmaktır. Sen mesela hat biten arayabilir \r\nve o yerine<whatever you want to append>\r\n
Peter Perháč

Bu aslında gerçekten harika bir çözüm, özellikle yukarıdaki APPEND yorumuyla.
Chuck Le Butt

2
Bu, önek için kullanışlıdır, ancak karışık uzunluktaki satırları sonradan eklemek istiyorsanız (sonuna ekleyin) o kadar kullanışlı değildir. Keşke Notepad ++, Notepad2'deki gibi satırları seçmenize, Alt + M tuşlarına basmanıza ve her satırdan önce ve / veya sonra metin eklemenize izin veren yerleşik bir "Satırları Değiştir" komutuna sahip olsun.
thdoan

23

Kullanılabilecek Normal İfade:

Find: \w.+
Replace: able:"$&"

As, $&size aradığınız dizeyi verecektir.

Bakın: regexr


6
Harika söz $&! \1Tüm ortamlarda çalışmaz.
pfabri

Hakkında harika cevap $&. SublimeText'te de çalışır.
WesternGun

Hakkında harika cevap $&. VS kodunda da çalışır.
P. Frank

5

Bir Makro Kullanın.

Makro> Kaydı Başlat

Değişikliklerinizi tekrarlanabilir bir şekilde yapmak için klavyeyi kullanın.

ana sayfa> "mümkün" yazın> son> aşağı ok> ana sayfa

Ardından menüye geri dönün ve kaydı durdur'u tıklayın, ardından bir makroyu birkaç kez çalıştırın.

Bunu yapmalı ve normal ifadeye dayalı komplikasyonlar yok!


4
"Komplikasyonlar" ne anlama geliyor? :-)
Tomalak

Kullanım kolaylığı için +1! Bir dosyadaki her satırın sonuna bir 'sekme' eklemem gerekiyordu ve bu ipucu hile yaptı.
NateJ
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.