Hilfe ! Regex Wahnsinn

Status
Nicht offen für weitere Antworten.
M

Maik82

Gast
:bahnhof: :bahnhof:

Seit 2 Tagen hänge ich an einem Regex um ein vollständiges HTML Element mit Text zu finden.

Code:
 <span style ='col'>[b]Fetter Text inerhalb 2 Tags[/b]</span>
 <div style='row'>[i]<u>Text innerhalb von 3 Tags</u>[/i]</div>

Ich brauche nun einen regex der mir in einem HTML Text immer komplette solcher Blöcke findet..Argh. Im obigen Beispiel würde der regex 2 Zeilen finden mit jeweils dem kompletten String.

Code:
2 Matches found:
  [color=blue]<span style ='col'>[b]Fetter Text inerhalb 2 Tags[/b]</span>[/color]
 [color=blue]<div style='row'>[i]<u>Text innerhalb von 3 Tags</u>[/i]</div>[/color]

So ist mein aktueller Stand
Code:
      Pattern ulPattern = Pattern.compile("<.*\\b[^>]*>(.*?)</.*>");
      Matcher matcher = pattern.matcher(inputString);      

      while(matcher.find()){
        String text = matcher.group(1);        
        System.out.println(text);
      }

Wer kennt sich damit aus ?

Gruß
Maik
 
S

SlaterB

Gast
> Im obigen Beispiel würde der regex 2 Zeilen finden mit jeweils dem kompletten String.

soweit funktioniert es also

> Ich brauche nun einen regex der mir in einem HTML Text immer komplette solcher Blöcke findet..

was ist denn ein 'solcher Block'?, wie unterscheidet er sich von dem was bisher schon klappt?
'ein vollständiges HTML Element'? was ist das genau in deutscher Sprache?

man kann Fragen so leicht und eindeutig formulieren (habe A, will B)
oder so kompliziert informationslos wie hier..
 
M

Maik82

Gast
In deutscher Sprache kann ich das nicht, aber vielleicht kann ich das so illustrieren:

Code:
  <body>
        <div>
             <span>
                [*]
                    


                    </p>
                       
             </span>
        </div>
   </body>

Der Matcher findet alles von <body> - </body>, <div> - </div>, <span - </span> usw. Weißt du wie ich meine?
 

musiKk

Top Contributor
So ganz ist mir das Ziel jetzt auch nicht klar (das war mein Stand nach SlaterBs Post), aber als Hinweis: Du wirst mit Back References arbeiten muessen, wird in der Dokumentation erklaert. Weiterhin solltest du mit .* aufpassen. Das haste zwar zwei Mal entschaerft, aber der Teil des Patterns, der das schliessende Tag matchen soll, ist immer noch greedy.
 
S

SlaterB

Gast
in jedem Fall wird bei RegEx nichts doppelt gemacht,
du kannst nicht span x /span finden und dann das x weiter untersuchen,

für sowas bieten sich Parser an, die den Text Schritt für Schritt durchlaufen und einen Element-Baum aufbauen
 

GilbertGrape

Bekanntes Mitglied
SlaterB hat gesagt.:
man kann Fragen so leicht und eindeutig formulieren (habe A, will B)
oder so kompliziert informationslos wie hier..

manch einer kanns eben nicht so gut und das hat nicht immer damit zu tun, dass er sich nicht bemüht oder damit beschäftigt hat!
 
S

SlaterB

Gast
ich seh das gar nicht so eng, finds nur langweilig, 'bitte formulieren Sie die Frage neu' zu schreiben ;)

anderseits, eine Erklärung wie
"möchte aus
<a><c>d</c></a>
mit RegEx
<c>d</c>
+
<c>d</c>
+
<a><c>d</c></a>
extrahieren"
erfordert wohl kein Können, sondern nur Mühen

falls es überhaupt so gemeint war, was immer noch nicht klar ist,
Beispiele sind schon was feines
 
G

Guest

Gast
ich bin nochmal hier, ich habe schon den ganzen morgen probiert diesen regex anzupassen, es klappt einfach nicht. der ausdruck findet alle html tags ohne dem schließenden tag. jetzt möchte ich einfach nur, dass er nur gruppen von html tags findet, das heißt es müssen mindestens {2,n} tags gefunden werden

das ist der eigentliche ausdruck:
Code:
(<\w+((\s+\w+(\s*=\s*(?:".*?"|'.*?'|[^'">\s]+))?)+\s*|\s*)/?>)

der ausdruck findet in diesem string:

- <font color="#330033" size="6">
-
- <u>
- <font size="7">

Code:
<font color="#330033" size="6">[i]<u>fgdfdfg</u>[/i]</font><font  size="7">dfg</font>

nun soll der regex aber nur was finden, wenn eben mind. 2 tags direkt hintereinander sind, somit würde er für den gleichen String nur das finden:

- <font color="#330033" size="6"><u>

Code:
<font color="#330033" size="6">[i]<u>fgdfdfg</u>[/i]</font><font  size="7">dfg</font>

ich verstehe nicht, warum das so nicht klappt :? :?

Code:
(<\w+((\s+\w+(\s*=\s*(?:".*?"|'.*?'|[^'">\s]+))?)+\s*|\s*)/?>){2,n}

-> der voranstehende ausdruck soll mind. 2 mal vorkommen, heißt das doch ??

Maik
 
S

SlaterB

Gast
warum nicht einfach auch ein fertiges Testprogramm dazu?
alles darf man sich selber zusammensuchen und escapen..

{2,n} gibts nicht, hast du keine Fehlermeldung beim Ausprobieren bekommen?
wäre auch eine sehr wertvolle Info gewesen..
{2,} geht

Code:
public class Test
{

    public static void main(String[] args)
    {
        String inputString = 
          "<font color=\"3\" size=\"3\">[i]<u>fgdfdfg</u>[/i]</font><font  size=\"3\">dfg</font>";

        Pattern pattern = Pattern.compile(
           "(<\\w+((\\s+\\w+(\\s*=\\s*(?:\".*?\"|\'.*?\'|[^\'\">\\s]+))?)+\\s*|\\s*)/?>){2,}");
        Matcher matcher = pattern.matcher(inputString);

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

    }

}
 
G

Guest

Gast
ähm ja, das war der fehler. doch hatte eine fehlermeldung bekommen. tut mir leid, das nächste mal mach ich es besser. danke.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Hilfe bei RegEx benötigt Allgemeine Java-Themen 3
M Bitte Hilfe mit REGEX (Negieren) Allgemeine Java-Themen 4
A ALTER TABLE mit Hilfe von RegEx zerlegen, splitten Allgemeine Java-Themen 5
nrg Kleine Hilfe mit RegEx Allgemeine Java-Themen 2
B benötige regex hilfe Allgemeine Java-Themen 4
W Hilfe bei Methode Allgemeine Java-Themen 14
M Javascript Hilfe bei ToDoList? Allgemeine Java-Themen 1
A Java Programm erstellen hilfe Allgemeine Java-Themen 10
Momo16 Brauche Hilfe - Java Projekt kann nicht erstellt werden Allgemeine Java-Themen 12
T Hilfe bei negation von suchabfrage Allgemeine Java-Themen 2
Peterw73 Hilfe bei Java gesucht Allgemeine Java-Themen 3
A Hilfe beim Verständnis Allgemeine Java-Themen 16
V Hilfe mit Java Code Allgemeine Java-Themen 4
T Hilfe bei Programm. IDE: Eclipse mit EV3-Plugin, lejos Allgemeine Java-Themen 8
alinakeineAhnungv Hilfe bei einem Straßenbahn-Projekt von mir Allgemeine Java-Themen 18
Aboya Kugel mit Hilfe von Dreiecken rekursiv zeichnen Allgemeine Java-Themen 2
K Anzeigemöglichkeit von Bildern in JavaFX mit Hilfe von MongoDB GridFS Allgemeine Java-Themen 0
A Preisberechnung, Hilfe Allgemeine Java-Themen 4
M Bräuchte Hilfe bei der Aufgabe Allgemeine Java-Themen 1
s_1895 Hilfe bei Java Tic Tac Toe Allgemeine Java-Themen 8
W Suche Ursache für NPE - woher kommt sie? (Hilfe beim Debugging) Allgemeine Java-Themen 19
J Hilfe, Jar Datei kann nicht ausgeführt werden Allgemeine Java-Themen 2
M Hilfe bei einer Java Programmieraufgabe! Ab morgen Montag um 08:00 Uhr Allgemeine Java-Themen 5
B Bei Email: FW / AW... - Hilfe bei String suche Allgemeine Java-Themen 21
U Erste Schritte Hilfe bei simplem Glücsspiel in Java Allgemeine Java-Themen 4
K OOP Suche Hilfe + Erklärung für eine Hausaufgabe Allgemeine Java-Themen 1
K Objektorientierung, hilfe Allgemeine Java-Themen 9
V Bilder bei bestimmten Zeiten wechseln, bitte um Hilfe Allgemeine Java-Themen 5
D Hilfe bei Informatik Hausaufgaben Allgemeine Java-Themen 30
RalleYTN Brauche Hilfe beim Run-Length-Decoding Allgemeine Java-Themen 9
S Hilfe bei dem Auslesen einer YAML Datei Allgemeine Java-Themen 8
F NetBeans Hilfe!!! Allgemeine Java-Themen 23
H Schiffe versenken JButton Schiffe mit GUI verbinden Hilfe! Allgemeine Java-Themen 2
E HILFE !! Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/io/FileUtils Allgemeine Java-Themen 4
S GetMethode erstellen mit Hilfe von Parametern Allgemeine Java-Themen 9
J Java "Bank Programm" Brauche eure Hilfe Allgemeine Java-Themen 3
B Hilfe bei Übungsblätter Allgemeine Java-Themen 9
O Erste Schritte Benzinverbrauch Code Hilfe Allgemeine Java-Themen 3
C Hilfe Bei Vegas Slide Allgemeine Java-Themen 0
B Hilfe!! spiel um Funktion des Selektierens erweitern (mit ASCII-Tabelle) Allgemeine Java-Themen 3
Ice4P4rty Hilfe Bei Promillerechner Allgemeine Java-Themen 9
C Atfx mit Hilfe von OpenAtfx auslesen Allgemeine Java-Themen 1
perlenfischer1984 Hilfe bei Design (Pattern) Allgemeine Java-Themen 5
G Hilfe bei Projektarbeit Allgemeine Java-Themen 5
GenerationLost Input/Output Custom Serialization - hilfe bei Realisierung Allgemeine Java-Themen 8
J Hilfe!!! Ausbildung Allgemeine Java-Themen 14
H Hilfe bei Erstellung eines Hilfe Fenster bei Tastendruck (F1 bei Win98) Allgemeine Java-Themen 5
B Swing Hilfe bei Abfrage von Benutzernamen und Passwort Allgemeine Java-Themen 2
T Hilfe bei Code Allgemeine Java-Themen 3
U Swing Hilfe beim Quellcode für ein Codierungs-/Decodierungsprogramm Allgemeine Java-Themen 9
S Hilfe bei Gui Allgemeine Java-Themen 3
O Best Practice Hilfe bei Algorithmus gesucht Allgemeine Java-Themen 10
GRAZZ0R Hilfe zum Spiel Mensch ärger dich nicht Allgemeine Java-Themen 1
C Hilfe bei den Ausgaben Allgemeine Java-Themen 4
K Hilfe bei GUI für Pizza-Service Allgemeine Java-Themen 11
J Hilfe bei Datumsberechnung aus Textfeld Allgemeine Java-Themen 10
I Bitte Drngend hilfe Allgemeine Java-Themen 2
C Hilfe bei NoClassDefFoundError Allgemeine Java-Themen 14
C Hilfe bei einer Fehler meldung Allgemeine Java-Themen 3
I Methoden Schnelle Hilfe benötigt - Kleines Video/Slideshow aus mehreren Bildern erstellen Allgemeine Java-Themen 3
C Hilfe bei einer Point Ausgabe Allgemeine Java-Themen 7
S Probleme mit meinem MacBook Pro DRINGEND HILFE erbeten! Allgemeine Java-Themen 17
N Erste Schritte [HILFE] effizienter,leistungsfähigermbackground Pixelbot Allgemeine Java-Themen 5
A Hilfe gesucht Allgemeine Java-Themen 44
X ArrayList will nicht so wie ich will. Hilfe Allgemeine Java-Themen 8
C Hilfe bei einer Fehlermeldung Allgemeine Java-Themen 5
C Hilfe bei MalformedURLException Allgemeine Java-Themen 7
D Baum zeichnen hilfe Allgemeine Java-Themen 4
M Hilfe bei parseInt Allgemeine Java-Themen 4
F Compiler-Fehler Hilfe bei Startup error Allgemeine Java-Themen 3
D Mit Hilfe von Java aus Excel-Sheet Zellen in neues Excel Dokument kopieren Allgemeine Java-Themen 3
F Socket NullPointerException Bitte um hilfe! Allgemeine Java-Themen 12
M Input/Output Java + OCR ? Erfahrungen und bitte um Hilfe Allgemeine Java-Themen 12
M Brauche Hilfe bei Quellcodeverständnis Allgemeine Java-Themen 4
B Zahlen ausgeben hilfe! Allgemeine Java-Themen 8
S Java USB dringend Hilfe! Allgemeine Java-Themen 6
X Hilfe bei Programm Allgemeine Java-Themen 5
zer0zer0 Best Practice apache common cli - optionen für hilfe ausblenden Allgemeine Java-Themen 5
F Bitte um Hilfe! Allgemeine Java-Themen 5
S Hilfe bei geeignetem Pattern (Decorierer) Allgemeine Java-Themen 2
D Brauche Hilfe bei Rechnung (Exponentiation) Allgemeine Java-Themen 12
F Brauche Hilfe bei Java Allgemeine Java-Themen 6
S Hilfe bei simplem Programm Allgemeine Java-Themen 3
J Ein blutiger Anfänger braucht Hilfe Allgemeine Java-Themen 7
B Hilfe bei JUnit Test Allgemeine Java-Themen 1
B Dringend Hilfe gesucht für Struktogramm Allgemeine Java-Themen 11
C Brauche Hilfe mit Modulo Strategie Allgemeine Java-Themen 2
S Brauche Hilfe: Prüfungsaufgabe Java Allgemeine Java-Themen 8
J Probleme bei kompilieren ... Bitte um Hilfe Allgemeine Java-Themen 2
G java.exe in System 32. Hilfe!!! Allgemeine Java-Themen 8
M google plus java api - Anfänger sucht Hilfe Allgemeine Java-Themen 7
M Hilfe mit JOptionPane Allgemeine Java-Themen 2
I Hilfe: Klasse Vieleck Allgemeine Java-Themen 5
I javax.sound.sampled.* - Hilfe zu den Controls Allgemeine Java-Themen 8
C Hilfe bei Adressbuch-Programmierung, wie am Besten mit JList implementieren Allgemeine Java-Themen 2
S Hilfe bei der Cosinusapproximation Allgemeine Java-Themen 10
K Arraylist Hilfe Allgemeine Java-Themen 13
K Hilfe Felder Allgemeine Java-Themen 7
T Hilfe im Lizenz-Dschungel Allgemeine Java-Themen 11
S brauche Hilfe für ssh connection in java Allgemeine Java-Themen 6

Ähnliche Java Themen

Neue Themen


Oben