hiho experts at work,
hab hier ein kleines regex prob, fange damit gerade erst an
moechte aus einem string der aehnlich einer xml notation aufgebaut ist daten auslesen
my $var = „1991\n05\n“;
ich braeuchte jetzt ein reg ex das mir hier das jahr rausliest, naturlich spaeter auch month usw. wenn ich den regex fuer das jahr habe ist mir schon geholfen. kann mir jemand helfen?
habe einen ansatz, der bringt mich aber nicht weiter…
$var =~ /\b[0-9]+\b/;
bitte bitte helft mir
cu josh aka PunkRock
habe einen ansatz, der bringt mich aber nicht weiter…
$var =~ /\b[0-9]+\b/;
Richtige Richtung, ja. Hier ist ein korrektes Beispiel:
$var =~ /^([0-9]\*);
print $1 . "\n";
Mit der Klammerung merkst Du Dir das Jahr (in „$1“ – „$2“ wäre für die zweite Klammer usw.) und kannst es dann ausgeben oder sonstwie verwenden. Das „^“ steht für „Anfang des Strings“.
Schau mal unter http://selfhtml.teamone.de/cgiperl/sprache/regexpr.htm nach. Da findest Du alles, was Du brauchst. Aber ich musste auch ´ne Weile probieren, also nicht aufgeben, wenn´s nicht gleich klappt.
Kristian
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
gerade habe ich selber eine loesung gefunden,
allerdings nicht so huebsch wie deine:
if (/\d*/) {
s///g ;
print $_;
}
borgstyle
da werde ich dann wohl lieber die kurzversion nehmen.
vielen dank 
josh
Hi Joshua,
der Tipp von Kristian mit der Klammerung ist schon okay. Ich wuerde u.U. noch folgendes probieren:
if ($suchstring =~
m/
]+)\> # zuerst der Tag (Folge von ein oder
# mehr 'Nicht-\>'-Zeichen) in -Klammern
# tagname -\> $1
([^ $2
# sollte alles bis zum schliessenden
# Tag finden ...
# End-Tag -\> den Tagnamen, der in
# Klammer 1 gefunden wurde,
# eingeschlossen in '' und '\>'
# /-Zeichen escaped...
/x # extended Syntax -\> RegEx mit
# Kommentar
)
{
($tagname, $taginhalt) = ($1, $2);
print "Tagname: - Wert: \n";
}
Dies laesst sich (leider) noch beliebig verkomplizieren (was ist, wenn der Taginhalt selbst noch spitze Klammern enthält oder wenn Einzelzeichen per \ escaped werden?..).
Immerhin laesst sich der Ansatz fuer beliebige ‚einfache‘ Tags der Form „Zeichenkette mit Taginhalt“ verwenden.
gruss
bernhard
xml?regex:frowning:XML::Simple)
hi,
nur falls mal jemand auf die idee kommt, ebenfalls eine xml struktur in perl einzulesen: es gibt da ein ganz ganz tolles modul das sich da XML::Simple nennt. damit muss man keine regex mehr koennen. aber dennoch bedanke ich mich bei den leuten hier im thread fuer ihre schnellen loesungen 
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]