Regulärer Ausdruck für HTML-Tag

sina.die

Mitglied
Ich krieg's einfach nicht hin... Kann mir jemand weiterhelfen mit nem regulären Ausdruck für einen bestimmten HTML-Paragraphen?

<p
*&#*
</p>

So in etwa stell ich mir das vor. Das Sternchen soll halt heißen: beliebig viele Zeichen oder keins.

Beispiel-Incoming-String ist dieser hier (sind auch \n dazwischen möglich, die könnte ich aber rausfiltern, wenn sie stören)
<p style="font-size:12.0pt;margin-bottom:.0001pt;margin-left:0cm;font-family:Times New Roman;margin-right:0cm;">
 
</p>
 

Michael...

Top Contributor
Willst Du an den Inhalt zwischen den Tags?
Java:
String text = "abcd<p style=\"blablublub\">123</p>efgh<p style=\"bla\">456</p>ijkl";
Pattern pattern = Pattern.compile("<p.*?>(.*?)</p>");
Matcher matcher = pattern.matcher(text);
while(matcher.find()) {
	System.out.println(matcher.group(1));
}
 

Michael...

Top Contributor
Wenn man weiss, was da auf einen zu kommt und man nur an einzelne Inhalte will, muss man ja nicht unbedingt einen Parser einbinden.
Falls es mit dem schliessenden Tag Probleme geben sollte könnte man das Pattern ja auch so schreiben:
Java:
Pattern pattern = Pattern.compile("<p.*?>(.*?)<");
 

sina.die

Mitglied
Also, ich brauche am besten den ganzen Tag, nicht nur die Inhalte.
Die Variante mit dem schließenden Tag würde eigentlich reichen, aber ich hätte sonst auch die Möglichkeit den anderen zur Sicherheit zusätzlich abzufragen. Wichtig ist halt, das in dem Inhalt &# vorkommt. Und den will ich dann eigentlich nur löschen (hätte es daher einfach mit replaceAll gemacht).
Und irgendwie will das bei mir nicht gehen. Mir leuchtet auch überhaupt nicht ein, warum ich den Tag mit
Java:
text= text.replaceAll("<p.*?>(.*?)</p>","");
nicht löschen kann. :-(
 

sina.die

Mitglied
Naja, der Rest von dem was noch so zwischen den <html>-Tags steht.
Nur der eine <p>-Tag mit Inhalt *&#* soll raus.

Edit: Ach ja... mein Incoming-String-war halt zu Testzwecken. Da hätte dann ruhig ein Leerstring rauskommen dürfen. Normalerweise steht aber schon was drumherum.
 
Zuletzt bearbeitet:

Michael...

Top Contributor
Also von dem:
HTML:
<p style="font-size:12.0pt;margin-bottom:.0001pt;margin-left:0cm;font-family:Times New Roman;margin-right:0cm;"> </p>
soll
Code:
160;
übrig bleiben?
 

sina.die

Mitglied
Nee, von dem
HTML:
<p style="font-size:12.0pt;margin-bottom:.0001pt;margin-left:0cm;font-family:Times New Roman;margin-right:0cm;"> </p>
soll garnichts übrig bleiben.

Von beispielsweise
HTML:
<html><p style="font-size:12.0pt;margin-bottom:.0001pt;margin-left:0cm;font-family:Times New Roman;margin-right:0cm;"> </p></html>
soll
HTML:
<html></html>
übrigbleiben.

Und von
HTML:
<html>
<p style="font-size:12.0pt;margin-bottom:.0001pt;margin-left:0cm;font-family:Times New Roman;margin-right:0cm;"> </p>
<p style="font-size:12.0pt;margin-bottom:.0001pt;margin-left:0cm;font-family:Times New Roman;margin-right:0cm;">Hallohallo160oder irgendwas anderes</p>
</html>
soll
HTML:
<html>
<p style="font-size:12.0pt;margin-bottom:.0001pt;margin-left:0cm;font-family:Times New Roman;margin-right:0cm;">Hallohallo160oder irgendwas anderes</p>
</html>
übrigbleiben.
 
Zuletzt bearbeitet:

Michael...

Top Contributor
Wenn das &# auch noch relevant ist, muss man das natürlich auch noch ins Suchmuster mit aufnehmen. Bsp:
Java:
String htmlText = "<html>" +
	"<p style=\"bla\">&#undirgendwas</p>" +
	"<p style=\"bla\">Hallohallo160oder irgendwas anderes</p>" +
	"</html>";
System.out.println(htmlText.replaceAll("<p.*?>\\s*&#(.*?)</p>", ""));
 

sina.die

Mitglied
Ach, verdammt.
Nee, das geht doch nicht immer. Können Zeilenumbrüche vielleicht ein Problem sein? Hier mal ein "Inspect von meinem Beispielstring".
Oder sind vielleich die Anführungszeichen in dem String ein Problem?

Sollte ich mich evtl doch lieber mal mit HTMLParsern beschäftigen?
 

Anhänge

  • grrrrr.jpg
    grrrrr.jpg
    49,9 KB · Aufrufe: 49

sina.die

Mitglied
Hmm, nur mit replaceAll("\n","") gehen die irgendwie auch nicht raus.
Hier nochmal der String. AUf dem Bild erkennt man ja kaum was, sehe ich gerade.
HTML:
<html>
  <head>
    
  </head>

  <body>
    <table cellpadding="0" cellspacing="0" style="border:none;" border="1">
      <tr>
                <td valign="top" style="border:solid windowtext 1.0pt;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;padding-top:0cm;width:204.66667;" width="205">
          <p style="font-size:12.0pt;margin-bottom:.0001pt;margin-left:0cm;font-family:Times New Roman;margin-right:0cm;">
             
          </p>

        </td>

                <td valign="top" style="border:solid windowtext 1.0pt;padding-right:5.4pt;border-left:none;padding-bottom:0cm;padding-left:5.4pt;padding-top:0cm;width:204.73334;" width="205">
          <p style="margin-bottom:.0001pt;font-size:12.0pt;margin-left:0cm;font-family:Times New Roman;margin-right:0cm;">
             
          </p>

        </td>

                <td valign="top" style="border:solid windowtext 1.0pt;padding-right:5.4pt;border-left:none;padding-bottom:0cm;padding-left:5.4pt;padding-top:0cm;width:204.73334;" width="205">
          <p style="margin-bottom:.0001pt;font-size:12.0pt;margin-left:0cm;font-family:Times New Roman;margin-right:0cm;">
             
          </p>

        </td>

            </tr>

        </table>

    <p style="margin-bottom:.0001pt;font-size:12.0pt;margin-left:0cm;font-family:Times New Roman;margin-right:0cm;">
       
    </p>

  </body>

</html>
 

XHelp

Top Contributor
Mir fällt gerade ein, dass es so nicht gehen wird, denn der RegEx wird imho andere <p>'s miteinschließen, sprich:
Code:
<p>&#123</p>HIERIRGENDEINTEXT<p>&#456</p>
Der RegEx wird von ersten <p> bis zum letzen </p> löschen. Also auch HIERIRGENDEINTEXT...... soweit meine Überlegungen stimmen
(ja ich weiß, dass ein regulärer Ausdruck nichts löscht ;) )
 

Michael...

Top Contributor
Mir fällt gerade ein, dass es so nicht gehen wird, denn der RegEx wird imho andere <p>'s miteinschließen, sprich:
Code:
<p>&#123</p>HIERIRGENDEINTEXT<p>&#456</p>
Der RegEx wird von ersten <p> bis zum letzen </p> löschen. Also auch HIERIRGENDEINTEXT...... soweit meine Überlegungen stimmen
(ja ich weiß, dass ein regulärer Ausdruck nichts löscht ;) )
Ausprobieren ;-)
Die "Gier" der Quantoren kann man durch ein ? unterdrücken, deswegen z.B. auch das .*?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Regulärer Ausdruck für 0 oder mehr Blanks Allgemeine Java-Themen 8
G Regulärer Ausdruck für 2 Wörter Allgemeine Java-Themen 3
P JFormattedTextField für durch Semikolon getrennte Integer-Werte gesucht / Regulärer Ausdruck Allgemeine Java-Themen 3
A Regulärer Ausdruck für die Uhrzeit Allgemeine Java-Themen 3
O regulärer Ausdruck zum durchsuchen eines Strings verwenden Allgemeine Java-Themen 2
N Regulärer Ausdruck funktioniert nicht Allgemeine Java-Themen 6
M Regulärer Ausdruck Allgemeine Java-Themen 3
R Regulärer Ausdruck Allgemeine Java-Themen 5
H Problem mit der Klasse Pattern - Regulärer Ausdruck Allgemeine Java-Themen 2
S Regulärer Ausdruck tut überhaupt nichts Allgemeine Java-Themen 2
M Regulärer Ausdruck Allgemeine Java-Themen 6
Iron Monkey Regulärer Ausdruck Allgemeine Java-Themen 2
T Regulärer Ausdruck Allgemeine Java-Themen 6
P [Regulärer Ausdruck] Auf Gruppe mit Quantifier separat zugreifen? Allgemeine Java-Themen 2
J Regulärer Ausdruck - Der Punkt und der Zeilenumbruch Allgemeine Java-Themen 6
Iron Monkey Regulärer Ausdruck Allgemeine Java-Themen 6
G Regulärer Ausdruck Allgemeine Java-Themen 4
M Regulärer Ausdruck Allgemeine Java-Themen 3
P Regulärer Ausdruck um sich wiederholende Zeichen zu finden. Allgemeine Java-Themen 9
M Regulärer Ausdruck mit [ und ] Allgemeine Java-Themen 9
P Problem - Regulärer Ausdruck funktioniert nicht Allgemeine Java-Themen 5
J Regulärer Ausdruck Allgemeine Java-Themen 3
N Regulärer Ausdruck Allgemeine Java-Themen 2
M Regulärer Ausdruck Allgemeine Java-Themen 2
B regulärer ausdruck Allgemeine Java-Themen 9
T Einfacher regulärer Ausdruck Allgemeine Java-Themen 2
A Regulärer Ausdruck EMail-Prüfung Allgemeine Java-Themen 3
N Regulärer Ausdruck Allgemeine Java-Themen 2
N Regulären Ausdruck in normalen Java-Code umwandeln Allgemeine Java-Themen 12
G JavaFX var Ausdruck Allgemeine Java-Themen 1
S Hex Ausdruck kürzen Allgemeine Java-Themen 34
LimDul Hä? Lambda-Ausdruck geht, Methoden-Referenz nicht Allgemeine Java-Themen 8
L Erste Schritte Ausdruck schöner schreiben? Allgemeine Java-Themen 8
J Frage zu regulärem Ausdruck Allgemeine Java-Themen 2
H Reg Exp Ausdruck erweitern Allgemeine Java-Themen 2
A Bestimmte Sonderzeichen im Regulären Ausdruck Allgemeine Java-Themen 2
B Problem mit Regulärem Ausdruck Allgemeine Java-Themen 4
J RegEx Ausdruck Allgemeine Java-Themen 2
G RegEx- Ausdruck Allgemeine Java-Themen 4
L String Replace mit Regulärem Ausdruck Allgemeine Java-Themen 2
O Text mit Wildcard gegen regulären Ausdruck prüfen Allgemeine Java-Themen 3
T Ausdruck mit pdfBox macht Probleme Allgemeine Java-Themen 2
M Ausgabe in Datei zum Ausdruck Allgemeine Java-Themen 2
F Problem mit regulären Ausdruck in Zusammenhang mit HTML Allgemeine Java-Themen 8
X String zerlegen mittels regulärem Ausdruck Allgemeine Java-Themen 31
M Wertepaar in relulärem Ausdruck Allgemeine Java-Themen 15
A Regulären Ausdruck für Funktionsnamen Allgemeine Java-Themen 4
M Regulären Ausdruck negieren Allgemeine Java-Themen 6
G Frage zu Regulärem Ausdruck Allgemeine Java-Themen 2
S regex-Pattern Ausdruck negieren Allgemeine Java-Themen 2
L Passwort mit Regulärem Ausdruck prüfen Allgemeine Java-Themen 6
I Composite Pattern für Ausgabe von Ausdruck Allgemeine Java-Themen 3
X problem mit regulären ausdruck Allgemeine Java-Themen 3
F Problem mit regulärem Ausdruck Allgemeine Java-Themen 6
M backreference im regulären ausdruck Allgemeine Java-Themen 9
A Probleme Umwandlung Ausdruck String in double Allgemeine Java-Themen 4
P Dateinamen mit regulärem Ausdruck testen Allgemeine Java-Themen 9
B Algorithmus für Arbeit mit fehlenden Listenelementen? Allgemeine Java-Themen 1
kodela Eingabe für TextArray bedingt sperren Allgemeine Java-Themen 3
Karl_Der_Nette_Anfänger Hat wer ne Lösung für verknüpfte Postleitzahlen? (Baum/Wurzel Struktur) Allgemeine Java-Themen 11
R 11 GB File lesen ohne zu extrahieren Filedaten Bereich für Bereich adressieren dann mit Multi-Thread id die DB importieren Allgemeine Java-Themen 3
G KeyListener für JTextField Allgemeine Java-Themen 5
webracer999 Library für Textsuche (z. B. include/exclude, and/or)? Allgemeine Java-Themen 5
I Module-Info für Jar erzeugen Allgemeine Java-Themen 7
krgewb Java-Bibliothek für ONVIF Allgemeine Java-Themen 1
B Simpler Eventlistener für Tastaturtaste bauen? Allgemeine Java-Themen 13
_user_q Eingegebenen Text Zeile für Zeile ausgeben lassen Allgemeine Java-Themen 11
E Key für TOTP Algorythmus(Google Authentificator) Allgemeine Java-Themen 0
S Formel für Sonnenwinkel in ein Programm überführen Allgemeine Java-Themen 11
M pfx-Zertifikat in Tomcat für SSL-Verschlüsselung nutzen Allgemeine Java-Themen 14
R Best Practice Erfahrungswerte für eine Migration von JSF nach Angular (oder anderes JS-Framework) Allgemeine Java-Themen 1
B HeapSort für Array of Strings funktioniert nur teilweise Allgemeine Java-Themen 3
jhCDtGVjcZGcfzug Klassen Was genau passiert hier? Kann mir das jemand bitte Zeile für Zeile erklären? Allgemeine Java-Themen 1
rosima26 Bester Sortieralgorithmus für kurze Arrays Allgemeine Java-Themen 40
S Mit Methoden kann man definieren für was <T> steht. Geht das auch irgendwie für Variablen? Allgemeine Java-Themen 12
MangoTango Operatoren while-Schleife für Potenz Allgemeine Java-Themen 3
B Lottospiel, genug Reihen tippen für 3 Richtige (Spaß mit Arrays)? Allgemeine Java-Themen 46
B Mit welchen Datentypen und Strukturierung am Besten dutzende Baccaratspiele Shcritt für Schritt durchsimulieren? Allgemeine Java-Themen 26
D Klassendesign für einen Pascal Interpreter Allgemeine Java-Themen 6
I OCR Library für Belegerkennung Allgemeine Java-Themen 7
farah GetterMathod für Farbkanäle Allgemeine Java-Themen 6
B Welcher Datentyp für sehr große Zahlenbereiche? Allgemeine Java-Themen 1
S Webservices für binäre Daten? Allgemeine Java-Themen 5
G Licence-Header für InHouse entwickelten Source Allgemeine Java-Themen 8
M Schleife für einen TicTacToe Computer Allgemeine Java-Themen 5
O git ignore für Intellji braucht es die .idea Dateien? Allgemeine Java-Themen 8
F Java Script für das Vorhaben das richtige? Allgemeine Java-Themen 9
M wiviel Java muss ich für die Berufswelt können ? Allgemeine Java-Themen 5
Robertop Datumsformat für GB ab Java 16 Allgemeine Java-Themen 1
Thallius Verschiedene entities für gleichen Code…. Allgemeine Java-Themen 8
OnDemand Zentrale "Drehscheibe" für verschiedene APIs Allgemeine Java-Themen 14
S Übergabe eines Sortierkriteriums für ein Artikel Array mittels BiPredicate<Artikel, Artikel> Allgemeine Java-Themen 13
F Streams als Alternative für dieses Problem ? Allgemeine Java-Themen 15
D SHA-3 für Java-version 1.8 Allgemeine Java-Themen 1
N Validator für einen SQL-Befehl Allgemeine Java-Themen 22
Muatasem Hammud Erstellung von Testdaten für Arrays Allgemeine Java-Themen 6
B Logikfehlersuche, das perfekte Lottosystem für 3 Richtige mit Arraylists? Allgemeine Java-Themen 61
G Methoden für die Zukunft sinnvoll? Allgemeine Java-Themen 4
M API für PLZ Umkreissuche Allgemeine Java-Themen 3
1Spinne JDK 8 für Eclipse installieren Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben