Notepad ++ ile joker karakterle arama / değiştirme özelliğini kullanma


17

İşte benim sorun: Bir .txt dosyasında bulmak ve böyle sözdizimi binlerce örneğini değiştirmek gerekir:

(bkz. (a053007djfgspwdf))

veya

(bkz. (a053007djfgspwdf) ve (a54134xsedgeg))

veya

(bkz. (a053007djfgspwdf), (a9554xsdfgsdfg) ve (a54134xsedgeg))

Başlangıç ((a ve bitiş ) metin dizeleri arasında çok fazla çeşitlilik vardır . Bu regex kullanarak Notepad ++ ile kurulabilir mi? Öyleyse, bunu nasıl yaparım? Teşekkürler!

Yanıtlar:


17

Üzgünüm millet, sadece diğer cevapları karmaşık buluyorum. (Orijinal posterlere yönelik saygısızlık yoktur.)

Bu her zaman ilk arama sonucu olarak göründüğünden, şunu ekleyeceğim:

  1. Arama / değiştirme iletişim kutusunu aç ( CTRL+ Fsonra değiştirme sekmesi)
  2. En alttaki "Normal İfade" seçeneğini işaretleyin
  3. Joker karakter olarak. * Kullanın

Örneğin, tüm abp = "1314", abp = "1313", abp = "1312" vb. Örneklerini kaldırmak istedim.

Değiştir iletişim kutusunda:

Şunu bul: abp=".*"
Şununla değiştir:

(Bu tırnak içindeki herhangi bir şeyi ondan kurtulmak için hiçbir şeyle değiştirmiyorsun)

Kaynak: https://www.organicweb.com.au/17226/general-technology/notepad-wildcard/


15

Evet yapabilir! Notepad ++, tüm RegEx değiştirme ihtiyaçlarınız için seçebileceğiniz bir RegEx arama moduna sahiptir.

Aşağıdaki örnek, (see (a...))satır sonu haricinde herhangi bir şey için temel bir değiştirmedir . Gereksinimlerinizi karşılamak için RegEx'i değiştirmeniz veya kendiniz yazmanız gerekebilir. İşte size denemede yardımcı olacak harika bir yer.

RegEx: \(see \(a.+\)\)

Eşleşen dizeler:

(see (a053007djfgspwdf))
(see (a053007djfgspwdf) and (a54134xsedgeg))
(see (a053007djfgspwdf), (a9554xsdfgsdfg) and (a54134xsedgeg))


Değiştirin (bkz. (A ...)) yerine


Teşekkürler! İlk örneğin örneklerini buldu (bkz. (A053007djfgspwdf)), ancak diğerleri. Yine de harika bir başlangıç. Başka ne yapabileceğimi görmek için onunla oynayacağım. Başka önerileriniz varsa, bunu çok takdir ediyorum. Tekrar teşekkürler.
Michael Tuck

Eğer tıklayın mı Tümünü Değiştir veya tıklayarak devam değiştirin kullanmaya benzer eşleşmeleri arasında gezinmek için Sonrakini Bul ? Aradığınız metin sadece başlayıp (see (abitiyor ))mu? Tek bir parantezle biten dizeleriniz varsa, sonuncuyu "veya" ile biten dizelerle eşleştirmek için sonuncuyu \)yakalama grubuna dönüştürebilirsiniz . (\)|))))
one.time

Birkaç yerine denedikten sonra Tümünü Değiştir'i denedim. Bundan sonra, arama dizesi hiçbir şey bulamadı. Herkes için metin şöyledir: ( çeşitli metne bakın )) Yazım hataları dışında tek parantezli dizeler yok.
Michael Tuck

Cevabımı (\(see \(a|\(a)([^\)]+)\)(\)|), sorunuzdaki dizelerle eşleşecek alternatif bir RegEx ile güncelledim .
one.time

LOL, yanıtımı düzenlerken yanıtınızı güncellediniz. Yenisini deneyeceğim.
Michael Tuck

1

Bu kalıbı deneyin: \(see \(a(.*)\)ve ". Newline ile eşleşir" seçeneğinin işaretlenmediğinden ve "etrafta sarın" seçeneğinin işaretli olduğundan emin olun.


1

Bunların bazıları anlayamayacağım kadar derin olduğundan, tüm bu çözümleri okuduktan sonra ne yaptığımı göstereyim ve sonunda daha iyi bir anlayış elde etmek için daha fazlasını yapalım. (bu basit bir yaklaşımdır, en iyisi olmayabilir)

Tüm web sayfasındaki şekil unsurlarımı kaldırmak istedim . Şekil 2.1, Şekil 1.1, vb.

Öyleydi:

<p class="td1-content b8"><span class="stepNumber">2.  </span>Select Memo from the toolbar<br><b>Figure 2.1</b></p>

Sonunu istedim:

 <p class="td1-content b8"><span class="stepNumber">2.  </span>Select Memo from the toolbar</p>

Ama her biri

farklı bir Şekil numarası vardı, bu yüzden bunu yüce metin 2'de kullandım.

  1. ctrl H
  2. Sublime 2 metninin sağ alt köşesindeki ". *" simgesini tıklayın (normal ifade)
  3. yazılan <br><b>Figure.*</b>
  4. Şununla değiştir: -sıkı boş

Bu, tüm örneklerimi içindeki rakamlarla değiştirdi. kullandım. * sayıların nerede olacağı. Bu yardımcı olur umarım.


0

Kesin regex Eğer ihtiyaç olur ise:

\(see \(\w+\)((, \(\w+\))*( and \(\w+\)))?\)

Örneğin:

resim açıklamasını buraya girin

Geçerli Belgede Tümünü Bul seçildiğinde sonuç şöyle olur:

resim açıklamasını buraya girin

Bunun yerine ihtiyacınıza göre Değiştir'i kullanabilirsiniz .

aRegex'e de dahil etmek istiyorsanız, şunları kullanabilirsiniz:

\(see \(a\w+\)((, \(a\w+\))*( and \(a\w+\)))?\)
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.