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ş:
Nasıl bir dize bir düzenli ifade kulla...
Nasıl bir dize düzenli ifade kullanara...
't don dosyaları bulmak için grep...
Bir dize bulmak için düzenli İfade ayı...
Nasıl dize Java kullanarak boşluk yine...