SORU
1 Mart 2009, Pazar


Kullanarak daha büyük bir dize Düzenli İfade kullanarak dize bulmak için Java

Eğer böyle bir dize varsa:

FOO[BAR]

Genel bir şekilde "" dizesini bir dize ki, ne dize Meydanı dize almak mümkün olurdu parantez arasında. BAR almak istiyorum

örneğin

FOO[DOG] = DOG
FOO[CAT] = CAT

CEVAP
1 Mart 2009, Pazar


Olmayan açgözlü nicelik kullanmak gerekir, özellikle *?. Muhtemelen şu: istediğiniz gidiyoruz

Pattern MY_PATTERN = Pattern.compile("\\[(.*?)\\]");

Bu dize maç ve ilk grubu içinde köşeli parantez içindeki metin, bir desen verecektir. Daha fazla bilgi için Pattern API Documentation bakabilirsiniz.

Dize ayıklamak için, aşağıdaki gibi kullanabilirsiniz:

Matcher m = MY_PATTERN.matcher("FOO[BAR]");
while (m.find()) {
    String s = m.group(1);
    // s now contains "BAR"
}

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jeremy Gallman

    Jeremy Gallm

    11 NİSAN 2012
  • Joe DiFeo

    Joe DiFeo

    7 AĞUSTOS 2012
  • Joshua Benedict

    Joshua Bened

    26 EKİM 2013