Thread suche nach elementen mit regexp (12 answers)
Opened by seven-12 at 2005-07-01 16:34

Strat
 2005-07-01 16:43
#55875 #55875
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
keine ahnung; hier ein paar allgemeine probleme, ueber die du vielleicht stolperst:

1. der punkt matcht normalerweise nicht auf einen zeilenumbruch; damit er es doch tut, brauchst du das flag /s (z.B. $meta =~ m|<title>(.+)</title>|s)

2. =~ und = ~ sind zwei unterschiedliche sachen; = ist eine zuweisung und ~ ist ein binaeres not (einfache Dateient-/-verschluesselung:
Code: (dl )
perl -pe "$_ = ~$_" infile > outfile


3. .* versucht, soviele zeichen zu schlucken wie moeglich:
Code: (dl )
1
2
3
4
$string = "<title>abcde</title><title>defg</title>";
if ($string =~ m|<title>(.*)</title>|) {
print $1;
}

ergibt nicht abcde; das ergibt erst
Code: (dl )
1
2
3
4
$string = "<title>abcde</title><title>defg</title>";
if ($string =~ m|<title>(.*?)</title>|) {
print $1;
}
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/

View full thread suche nach elementen mit regexp