[Talk-de] REGEX in PERL wieder mal
Claus Färber
gmane2010 at cfaerber.name
Fr Jun 11 18:53:00 UTC 2010
GS <gerhardschwanz at yahoo.de> schrieb/wrote:
> ich hänge mal wieder an "simplen" regexen in perl...
> aus einer zeile wie:
> <node id="507042" version="3" timestamp="2008-04-14T08:18:04Z" uid="8464" user="MichaH"
> lat="50.0693044" lon="8.4696183">
Das sieht nach XML aus. XML lässt sich mit Regexen nicht sicher parsen.
Was machst du, wenn aus dem obigen zum Beispiel folgendes wird:
<node dc:user="Michael Hartmaier <michael.hartmaier at example.net>"
id="507042" version="3" timestamp="2008-04-14T08:18:04Z" user=
'Mich&97#;H'>
Das ist noch völlig legales XML mit -- abgesehen von dem zusätzlichen
Attribut dc:user -- identischer Bedeutung.
Regexe würde ich für XML nur dann gerade noch verwenden, wenn ich eine
einmalige Quick-and-Dirty-Lösung brauche und manuell kontrollieren kann.
Ansonsten nimm einen echten XML-Parser wie XML::Parser. Den gibt es
fertig auf CPAN und ist oft eh schon installiert.
Claus
Mehr Informationen über die Mailingliste Talk-de