Guten Morgen allerseits,
ich quäl mich gerade mal wieder ein bißchen mit regulären Ausdrücken rum.
Also folgendes Muster möchte ich finde:
obwohl ich natürlich weiß, dass das eine das andere enthält.
Hier meine Testmethode:
Das funktioniert auch, nur steht dann in m.group() natürlich auch der Buchstabe vor der ersten und hinter der zweiten Klammer und ich hätte gern nur den Klammerausdruck.
Ich weiß, dass ich den String hinterher einfach nochmal "beschneiden" kann, aber vielleicht gibts ja in der Regex-Welt noch eine elegantere Lösung.
Gruß
GG
ich quäl mich gerade mal wieder ein bißchen mit regulären Ausdrücken rum.
Also folgendes Muster möchte ich finde:
aber dieses nicht:{Blala}
{{Blabla}}
obwohl ich natürlich weiß, dass das eine das andere enthält.
Hier meine Testmethode:
Java:
public static void main(String[] args) {
Pattern p = Pattern.compile("[^{]\\{{1}[^{]*}{1}[^}]");
Matcher m = p.matcher("nana{BLA}jfgieuw");
if (m.find()){
System.out.println("gefunden: "+m.group());
}else{
System.out.println("nicht gefunden");
}
}
Das funktioniert auch, nur steht dann in m.group() natürlich auch der Buchstabe vor der ersten und hinter der zweiten Klammer und ich hätte gern nur den Klammerausdruck.
Ich weiß, dass ich den String hinterher einfach nochmal "beschneiden" kann, aber vielleicht gibts ja in der Regex-Welt noch eine elegantere Lösung.
Gruß
GG