Thread Mehrere reguläre Ausdrücke finden (12 answers)
Opened by Stephan at 2005-02-28 17:22

Crian
 2005-03-21 17:45
#52182 #52182
User since
2003-08-04
5873 Artikel
ModeratorIn
[Homepage]
user image
[quote=Stephan,18.03.2005, 09:34]
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
          #Prüfung: Angaben können mehrfach vorhanden sein
# $line hält den Inhalt einer XML-Datei
# in eine Zeile zusammengeschrieben

my $foo = $line;

for my $bar ( $foo =~ /<AdPubDate(.*?)>/g ) {
my ($merkmal) = $bar =~ /Date=\"(.*?)\"/;

#Hier Überprüfung jedes Merkmals

};
[/quote]
Nur mal so als Tipp: Ich würd die regulären Ausdrücke immer so eng und defensiv wie möglich formulieren, also <AdPubDate\s*([^>]*)> und Date\s*=\s*\"([^"]*)\".

Falls Du keine Schweinereien wie "ab\"cd" hast (weil Du weißt, aus welchem Prozess die Datei stammt), dann komt man damit ziemlich weit. Das ist hilfreich, wenn man merkt, dass die CPAN-Parser einen an bestimmten Stellen auch alleine lassen.

Ansonsten wirf mal einen Blick auf XML::Simple und Konsorten...\n\n

<!--EDIT|Crian|1111419984-->
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite

View full thread Mehrere reguläre Ausdrücke finden