philBerlin
Mitglied
Hallo hallo,
ich hab eine Frage zu regulären Ausdrücken. Ich suche nach einer Sequenz die nicht kontinuierlich ist. Dabei wird nach einem x und einem y gesucht, dazwischen kann eine beliebige Zeichenfolge auftreten. Mit der folgenden Methode bekomme ich allerdings die beliebige Zeichenfolge ebenso als Ergebnis. Wie kann ich die ausblenden?
Ich hatte mir überlegt einfach zweimal zu suchen, einmal was vor der beliebigen Zeichenfolge steht und einmal das danach, um dann die beiden Ergebnisse einfach zu mergen. Ich frage mich nur, ob es einen eleganteren Weg gibt, bzw. ob dafür nicht irgendwas vorgesehen ist....
Vielen Dank für Tipps!!
Phil
ich hab eine Frage zu regulären Ausdrücken. Ich suche nach einer Sequenz die nicht kontinuierlich ist. Dabei wird nach einem x und einem y gesucht, dazwischen kann eine beliebige Zeichenfolge auftreten. Mit der folgenden Methode bekomme ich allerdings die beliebige Zeichenfolge ebenso als Ergebnis. Wie kann ich die ausblenden?
Code:
public static void main(String[] args) {
String s = "axbcdye";
Pattern p = Pattern.compile(x[\\S]*y);
Matcher m = p.matcher(s);
System.out.println(s.substring(m.start(), m.end()));
//liefert: xbcdy, gewollt ist aber: xy
}
Ich hatte mir überlegt einfach zweimal zu suchen, einmal was vor der beliebigen Zeichenfolge steht und einmal das danach, um dann die beiden Ergebnisse einfach zu mergen. Ich frage mich nur, ob es einen eleganteren Weg gibt, bzw. ob dafür nicht irgendwas vorgesehen ist....
Vielen Dank für Tipps!!
Phil