[Talk-de] PERL REGEX?

Gary@gary68.de gary at gary68.de
Do Okt 16 07:42:42 UTC 2008


es geht so nicht...

REGEX ist nun:

my ($v) = ($line =~ /v=[\'\"](.*)[\'\"]/) ;

Fehler...

NEW REGEX ERROR reading osm file frankfurt0.osm, line follows (expecting 
node or k/v for way):
    <tag k="layer" v="0"/>


NEW REGEX ERROR reading osm file frankfurt0.osm, line follows (expecting 
node or k/v for way):
    <tag k="layer" v="0"/>


Komischerweise ist das das einzige, das nicht geht.

folgendes schafft keine abhilfe, im gegenteil:
my ($v) = ($line =~ /v=[\'\"]([.\d]*)[\'\"]/) ;

Gruß

Gerhard


----- Original Message ----- 
From: "Frederik Ramm" <frederik at remote.org>
To: "Openstreetmap allgemeines in Deutsch" <talk-de at openstreetmap.org>
Sent: Wednesday, October 15, 2008 10:04 PM
Subject: Re: [Talk-de] PERL REGEX?


Hallo,

GS wrote:
> ich habe:
>
>      my ($v) = ($line =~ /^.+v=[\'\"]([\/-\w\d\s\.:,\(\)]+)[\'\"]/);
>
> Ich will aber einfach nur den Text zwischen den Anführungszeichen mit 
> allem
> drum und dran. Probleme gibt es mit den dt. Umlauten.
>
> (.+) läuft nicht, warum?

Was genau willst Du? Einfach nur den "value" ausschneiden? Warum dan
diese komplizierte Regel?

my ($v) = ($a =~ /v=['"](.*)['"]/);

Wobei dies nicht so ganz sauber ist mit den Anfuehrungszeichen, eher
muesste man

my ($x, $v) = ($a =~ /v=(['"])(.*)\1/);

schreiben, um einen Fall wie

v="Eiscafe D'Angelo"

richtig zu behandeln.

Bye
Frederik

-- 
Frederik Ramm  ##  eMail frederik at remote.org  ##  N49°00'09" E008°23'33"

_______________________________________________
Talk-de mailing list
Talk-de at openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de 





Mehr Informationen über die Mailingliste Talk-de