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

  • Autocar

    Autocar

    11 Mart 2006
  • Caroline Saquet

    Caroline Saq

    1 EKİM 2011
  • martin shervington

    martin sherv

    7 EKİM 2011