2016-04-08 15 views
3
kullanarak altını değiştirmek

Tamam ben bu birden fazla statik html var ve URL'ler çizgi ile eşlik eder, her html i burada gerçek kodlardır çizgi ile altını olan tüm url değiştirmek istiyorurl çizgi ++ notepadd regex

1)

<a href="/category/how_to_tell_your_dad_that_you_are_pregnant/index.html">How to tell my dad that i am pregnant</a> 

2)

< href="/premarital_sex/index.html">Premarital Sex</a> 

olmalıdır

1)

<a href="/category/how-to-tell-your-dad-that-you-are-pregnant/index.html">How to tell my dad that i am pregnant</a> 

2)

i bunu nasıl benim statik html tümü üzerinde tüm URL ile değiştirilmesi istiyorum
< href="/premarital-sex/index.html">Premarital Sex</a> 

? ya da mümkün mü?

i htaccess çalıştı ama hayır şans yüzden sadece not defteri ++ yerine ya PowerGREP kullanmak gerekecek ama nasıl ve nerede başlatmak için :(avans adamlar

teşekkürler gerçekten emin değilim

DÜZENLEME

sanırım yakın ben: Sen değişken uzunluk lookbeh destekleyen başka editörü gerek

(href=")*[_](.+?">) 
+0

tümünü seçtiğin 'url 'hilariuos – rock321987

+0

Sadece söyle, senin için mutlu olacak! – Tobb

+0

çocuklar gelsin: Ciddi bir yardıma ihtiyacım var .. REGEX –

cevap

2

\G işleci yardımıyla Notepad ++ ve Sublime Text'te bulunan bir sonsuz genişlik lookbehind sorununu kolayca çözebilirsiniz.

Kullanım

(\bhref="|(?!^)\G)[^"<_]*\K_ 

Ve - ile değiştirin.

enter image description here

Açıklama:

  • (\bhref="|(?!^)\G) - bir maç için en soldaki çevre tanımlamak: href=" uyumlu olmalıdır bütün bir kelime (\b bir kelime sınırıdır) ya da sonunda pozisyon eşleşen önceki başarılı maçın ((?!^)\G ile)
  • [^"<_]* - " dışındaki 0+ karakterleri eşleştirmesi, < ve
  • \K_ - maç sadece bu karakteri - - biz tampon
  • _ den bugüne kadar eşleşti bütün metni ihmal ve sadece bu değiştirilecektir.
+0

bulmak için regex kullanarak im 10 + kez tıklama gerek yok, sadece * Tümünü Değiştir * bir kez. –

+0

oh aman tanrım :)) aradığım çözüm bu ... ne mükemmel bir dahi –

1

inds. NP ++ yapmaz. Bunun bul: tek seferde:

Yani, akıllı editör ile, yüce muhtemelen, bunu yapabilirdi (?<=href="[^"]*)_(?=[^"]*") ve bu onların yerine: -.

Notepad ++ uygulamasında bunu yapabilirsiniz: Bunu bulun: (href="[^"]*)_(?=[^"]*") ve bununla değiştirin: \1-. Ancak, Tümünü Değiştir'i birkaç kez tıklamanız gerekir. Yani En alt çizgilere sahip olan url 10'a sahiptir, daha sonra 10 kez tıklamanız gerekir.

+0

Sonsuz genişlikte bir görünüm buradaki gerekli değildir. Bu yapı olmadan bunu yapmanın bir yolu var. –

+0

im altta ve notepad ++ üzerinde geçersiz bir görünüm alıyorum im –