SORU
12 NİSAN 2011, Salı


İki dize arasında bir dize almak için düzenli İfade Javascript

Çok benzer mesajlar buldum ama tam benim düzenli ifade burada alamıyorum.

Diğer iki dizeleri arasında bir dize döndüren normal bir ifade yazmak çalışıyorum. Örneğin: dizeleri arasında bulunan bir dize almak istiyorum "" ve "" - süt ineği

Benim her zaman inek süt verir

dönecekti

< . p ^"her zaman" verir

İşte bu kadar parçalı var ifade:

(?=cow).*(?=milk)

Bu dizeyi döndürür ancak "inek her zaman verir"

Çözüm

Martinho Fernandes' çözüm aşağıda. kullanarak gerekli şeyleri almayı başardı Tam kodunu

var test = "My cow always gives milk";

var testRE = test.match("cow(.*)milk");
alert(testRE[1]);

Bir dizi olarak testRE değişken uyarı olduğumu fark edeceksiniz. Bu testRE nedense bir dizi olarak dönüyor olmasıdır. Çıktısı:

Benim her zaman inek süt verir

Değişiklikler:

her zaman verir

CEVAP
12 NİSAN 2011, Salı


Bir ilerleme ((?= o kısmı) herhangi bir giriş tüketmez. Birsıfır genişlikli onaylamasınır kontrolleri ve geriye ilerleme gibi).

Sıradan bir maç işte, cow bölümünü tüketmek istiyorum. Arada kalan kısmını yakalamak için, bir yakalama grubunu kullanın (sadece parantez içinde yakalamak istediğiniz desen bölümü):

cow(.*)milk

Hayır lookaheads tüm ihtiyaç vardır.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Baby Big Mouth

    Baby Big Mou

    5 Mart 2013
  • tinycammonitor

    tinycammonit

    14 Aralık 2010
  • wwjoshdew

    wwjoshdew

    1 AĞUSTOS 2007