perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 22
Click for quality!




11.02.2012 / 18:04

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragReguläre Ausdrücke: Problem mit Leerzeichen
Seitenanfang
Hallo,

Ich hoffe es kann mir jemand helfen!

Ich möchte aus einem Text einen bestimmten Teil herausparsen, der durch ein Anfang- und ein Endtag gekennzeichnet ist also z.B.

--BEGINN--
Text beliebiger Länge
--ENDE--

was mit

$text =~ /--BEGINN--((.)*?)--ENDE--/gis;

ja noch kein Problem darstellt.
Jetzt hab ich jedoch Datensätze, in denen sich irgendwo im Anfangs- oder End-Tag ein Leerzeichen eingeschlichen hat also z.B:

-- BEGINN--
Text beliebiger Länge
--END E--

Gibt es in Perl eine Möglichkeit nach Ausdrücken unabhängig der Leerzeichen zu suchen oder weiss jemand eine elegante Lösung für mein Problem?

Vielen Dank im Voraus!

kerstin

Datum: 03.01.2005-10:36

Beitragre: Reguläre Ausdrücke: Problem mit Leerzeichen
Seitenanfang
Hallo Kerstin,
spontan fällt mir da nur diese Lösungen ein:

$text =~ /\s*-\s*-\s*B\s*E\s*G\s*I\s*N\s*N\s*-\s*-\s*((.)*?)\s*-\s*-\s*E\s*N\s*D\s*E\s*-\s*-\s*/gis;

Datum: 03.01.2005-13:46

Beitragre: Reguläre Ausdrücke: Problem mit Leerzeichen
Seitenanfang
Hallo,
ich hatte da auch mal so problemchen mit Perl und Begrenzerzeichen vorne, Begrenzerzeichen hinten, ueber mehrere Zeilen. Dafuer ist Perl ungeeignet, da tut

sed

besser (zu finden auf linux, freeBsd, sysV). Insbesondere bei

--BEGINN--
Text beliebiger Länge
Text234
--ENDE--

gibt es dann massig probleme. Bei XML, sofern das XML ist, das Du da beackerst, empfehle ich Dir bereits fertige Funktionen, siehe das Perl Komplettpaket

http://www.activestate.com/Products/Download/Download.plex?id=ActivePerl

da werden 2 F() mitgeliefert.

Andrerseits, um das ganze abzuschotten, habe ich damals, ... da war ich noch jung, ... , saemtliche Zeilennummern --BEGINN-- vermerkt, saemtliche Zeilennummern --ENDE-- vermerkt, um die dann insgesamt zu ueberpruefen (das letzte --ENDE-- fehlt immer) und erst dann die Zeilen dazwischen zu lesen.

Gruss

Datum: 04.01.2005-18:02

-






-
-