PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : irgendwo ist ein fehler =(


Vanessa
12.07.2005, 10:25
String theRegEx = "(L=\"DpCells\"\\>\\<Cell\\>" + theLfdNummer + "\\<\\/Cell\\>.*?)\\<Cell\\>\\<\\/Cell\\>\\<\\/Cells\\>\\<\\/Record\\>";

dieser ausdruck findet nichts, warum??

es soll gefunden werden:

L="DpCells"><Cell>1</Cell>*(belieblig viele Zeichen dazwischen)<Cell></Cell></Cells></Record>

kann mir jemand helfen??
zur Info, das ganze steht definitiv in einer Zeile!

lg
Vanessa


Blue Cobold
12.07.2005, 10:31
Also mag jetzt blöd klingen und ich hab' vielleicht auch nicht die Ahnung, die haben sollte, aber warum escapest du '>', '<' und '/'? Muss man die wirklich escapen?
Und warum nimmst du ".*?" ? Sollte da nicht ein einfacher '*' reichen?
Oder hast du vielleicht breaks in deinen Zeilen, die da aber nicht sein dürften und an denen er sich hochzieht?

Vanessa
12.07.2005, 11:40
habs hinbekommen, war doch kein fehler in der syntax, hatte nen fehler beim ersetzten...

trotzdem danke!

achja, das escapen ist so korrekt, für den regulären ausdruck muss man <> und andere sonderzeichen escapen, da sie sonst eine spezielle bedeutung haben. da das ganze in nem string steht müssen / wiederrum escapet werden.
klingt kompliziert, ist es auch ;-)

eViL_oNe
13.07.2005, 14:22
habs hinbekommen, war doch kein fehler in der syntax, hatte nen fehler beim ersetzten...

trotzdem danke!

achja, das escapen ist so korrekt, für den regulären ausdruck muss man <> und andere sonderzeichen escapen, da sie sonst eine spezielle bedeutung haben. da das ganze in nem string steht müssen / wiederrum escapet werden.
klingt kompliziert, ist es auch ;-)

Richtig, aber die Erklärung ist falsch (ich gehe davon aus, dass es sich hierbei um Java handelt): "\" muss escaped werden, da \ in Java ja eine andere Bedeutung hat ;). Warum du "/" escapest ist mir hingegen ein Rätsel.

Blue Cobold
13.07.2005, 14:27
Na wenigstens nicht ganz blöd. Und auch dachte ich, dass bei Java-Reg-Ex < und > keine Bedeutung haben... aber das weiß ich halt nicht genau.

eViL_oNe
13.07.2005, 18:02
Na wenigstens nicht ganz blöd. Und auch dachte ich, dass bei Java-Reg-Ex < und > keine Bedeutung haben... aber das weiß ich halt nicht genau.

offensichtlich (laut java.util.regex.Pattern) haben \< und \> in Java keine Boundary Bedeutung - dann sind die Escapes da wirklich sinnlos und ich habe den Regexp falsch verstanden ;)

Blue Cobold
13.07.2005, 19:06
Woar, das wird ja immer besser... ^_^