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

  • Google Россия

    Google Ро

    9 Temmuz 2007
  • NightShader1

    NightShader1

    25 Temmuz 2006
  • tutvid

    tutvid

    19 AĞUSTOS 2006