Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Reguläre Ausdrücke mit mehrzeiligen Pattern (https://www.delphipraxis.net/101365-regulaere-ausdruecke-mit-mehrzeiligen-pattern.html)

Megamorph 11. Okt 2007 23:51


Reguläre Ausdrücke mit mehrzeiligen Pattern
 
Hallo liebe Community,

ich benutze die TRegExpr Komponente von der hier vorgestellten Seite.

Als ich mich ein wenig (notgedrungen) mit regulären Ausdrücken beschäftigte, stieg ich immer mehr hinter die Syntax, aber wie ich mehrzeilige Patterns (oder zumindest Patterns mit mehrzeiligen Resultaten) realisieren soll, weiß ich wirklich nicht.

Zb.:

Code:
<tr class='Forum1'>
<th><div id='abc2' title='Kat1' time='1192141228'></div></th>
...
<tr class='Forum2'>
<th><div id='abc2' title='Kat2' time='1192141229'></div></th>
...
<tr class='Forum3'>
<th><div id='abc2' title='Kat13' time='1192141231'></div></th>
Wenn ich jetzt zb. die jeweilige Zeit auslesen möchte, geht das ganz einfach mit:
Code:
time='([0-9]+)'
Aber angenommen, ich möchte die 2 Zeilen zusammenhängend extrahieren, so dass ich folgendes Resultat habe:
Code:
<tr class='Forum2'>
<th><div id='abc2' title='Kat2' time='1192141229'></div></th>
Wie soll das Pattern dazu aussehen?
evtl. so?
Code:
<tr class='([0-9a-z]+)'>!!!<th><div id='([0-9a-z]+)' title='([0-9a-z]+)' time='([0-9]+)'></div></th>
Aber wie mache ich an die Stelle, wo ich die !!! hingesetzt habe dem Parser klar, dass dort ein Zeilenumbruch ist?
Ich habe wirklich alles versucht (auch SuFu und google benutzt), aber bin zu keinem Ergebniss gekommen.
Vielen Dank schon im Vorraus, Megamorph

omata 12. Okt 2007 00:12

Re: Reguläre Ausdrücke mit mehrzeiligen Pattern
 
Hallo Megamorph,

versuch es doch mal so...
Code:
<tr class='([0-9A-Za-z]+)'>.*?<th><div id='([0-9a-z]+)' title='([0-9A-Za-z]+)' time='([0-9]+)'><\/div><\/th>
Gruss
Thorsten

Megamorph 12. Okt 2007 00:13

Re: Reguläre Ausdrücke mit mehrzeiligen Pattern
 
Super!!!
Vielen Dank für die schnelle Antwort, so geht es!


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:04 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz