Problem mit Regulärem Ausdruck

Brainiac

Bekanntes Mitglied
Also ich habe folgenden Text:
newline">Izidóra Katil<
In meinem Editor wird dieser mit folgendem Regulären Ausdruck gefunden:
newline">.*?<
Da mich nur das was zwischen > und < steht interessiert mache ich noch ne Klammer im Ausdruck:
newline">(.*?)<

So wenn ich das nun ich Java versuche klappt es ab dem .* nicht mehr:
Java:
String s = "newline\">Izidóra Katil<";
Pattern p = Pattern.compile("newline\">(.*?)<");
Matcher matcher = p.matcher(s);

while(matcher.find()) {
    System.out.println(matcher.group());
}

Wo liegt der Fehler?
 
der Code funktioniert selbstverständlich, wie genau definiert sich dein Fehler, keine Ausgabe?
sicher dass es überhaupt zur Ausführung dieses Codes kommt?
spannender als group() wäre vielleicht group(1) auszugeben

Nummer sicher:
Java:
public class Test {
	public static void main(String[] args) {
		System.out.println("start");
		String s = "newline\">Izidóra Katil<";
		Pattern p = Pattern.compile("newline\">(.*?)<");
		Matcher matcher = p.matcher(s);

		while (matcher.find()) {
			System.out.println(matcher.group(1));
		}
		System.out.println("ende");
	}
}
 
War schon etwas spät gestern, daher wohl unklar formuliert:
Der Reguläre Ausdruck findet nichts. Egal ob mit .group() oder .group(1);

Ich habe folgende Ausgaben bei verschiedenen Pattern:

1.
Code:
Pattern p = Pattern.compile("newline\">");

newline">

2.
Code:
Pattern p = Pattern.compile("newline\">.*");

Liefert:
newline">
Sollte ja aber:
newline">Izidóra Katil< liefern

3.
Code:
Pattern p = Pattern.compile("newline\">.*?<");

findet nichts mehr

Ich habe so das Gefühl als würde der .* nicht richtig funktionieren.
 
verwendest du auch wirklich ein Testprogramm wie meins oder liest du eher einen String aus einer Datei/ einer Webseite?
gib den genau aus, gib die Länge aus, jedes Zeichen einzeln usw.
 
Es war gestern eindeutig schon zu spät. Ich hab beim rausschreiben der Regex ne falsche Datenvorlage benutzt. Daher konnte der Regex nur Mist finden. Wenn man den richtigen nimmt klappts auch. Also hat sich erledigt.
 

Neue Themen


Zurück
Oben