| 

.NET C# Java Javascript Exception

2
Hallo,
ich möchte eigene JAVA-Funktion, die alle HTML-Tags innerhalb von einem String bis auf bestimmten Tags weglöscht. Dafür verwende ich regulär Ausdruck.
Ein Beispiel:

1)INPUT: gegeben ein String: <body>
<b>Hallo</b>
<span> Welt</span>
</body>
2) Aufgabe: alle HTML-Tags bis auf den Tag "b" löschen.
(OUTPUT soll: <b>Hallo</b> Welt)

3) Mein Regulär Ausdruck:
<(?![/]?b)[^>]*>

Problem: die Funktion funktioniert nur teilsweise. Denn mit meinem regulären Ausdruck sehe ich immer den Tag "body", den ich aber auch löschen möchte.
Könnt ihr mir vllt helfen? Danke
News:
19.02.2013
dezuse 3 2
4 Antworten
1
Zum Beispiel so:

(?!(<(/|)b)>)<.*?>

oder
(?!(<[/]?b)>)<.*?>


Noch besser:

(?!(<(/|)b)( .*?|)>)<.*?>

oder
(?!(<[/]?b)( .*?|)>)<.*?>


Funktioniert dann auch mit Attributen im <b>-Tag.
19.02.2013
Floyd 14,6k 3 9
Floyd 14,6k 3 9
danke. ich teste gearde deine Lösung
dezuse 19.02.2013
wow, it works!!!!!!!!!!! ich glaub das ist die Lösung. Danke schön dafür
dezuse 19.02.2013
Kein Problem :)
Floyd 19.02.2013
0
Regex ist allgemein keine gute Sache um HTML zu parsen. Siehe die Antwort von hier.

Ein XML-Parser wäre wohl eine bessere Sache!
19.02.2013
0
danke schön für die Antwort. In meinem Fall brauche ich erstmal nur regulär Ausdruck. Kann jemand mir noch einen anderen Typ um mein Problem zu lösen?
19.02.2013
dezuse 3 2
0
It works mit dem (?!(<(/|)b)( .*?|)>)<.*?> von Floyd. Danke !
19.02.2013
dezuse 3 2
Bitte nutz zukünftig die Kommentarfunktion und markiere hilfreiche Beiträge indem du das grüne Häckchen auf der linken Seite anklickst. Das macht es für andere übersichtliche die zielführende Lösung zu finden und du bedankst dich damit beim Antwortgeber.
Floyd 19.02.2013

Stelle deine Regex-Frage jetzt!