Schrift
[thread]12469[/thread]

frage zu regülären ausdrücken



<< >> 3 Einträge, 1 Seite
Gast Gast
 2008-09-10 15:30
#114484 #114484
hallo,
ich möchte aus einer datei alle zeilen herausfiltern,die nicht die zahl 999 enthalten.


if (@text[$i]!=/[999]/)


MFg

Gst
renee
 2008-09-10 15:44
#114486 #114486
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code (perl): (dl )
1
2
if( $text[$i] !~ /999/ ){
}


Auf ein einzelnes Arrayelement greift man mit $arrayname[$index] zu. Da der Rückgabewert ein einzelnes Element (ein Skalar) ist, ändert sich das "@" in ein "$".

Das Gegenteil von =~ ist !~.

Mit [999] gibst Du eine Zeichenklasse an (siehe auch perldoc perlretut). Damit würde man überprüfen, ob die Zeile ein Zeichen aus der Zeichenklasse mit den Zeichen 9,9 und 9 enthält.

Bitte verwende Wiki:use strict und use warnings.
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
moritz
 2008-09-10 21:20
#114515 #114515
User since
2007-05-11
923 Artikel
HausmeisterIn
[Homepage]
user image
Code: (dl )
/^(?!.*999)/


Aber du kannst es dir noch viel einfacher machen:

Code: (dl )
if (!/999/) { ... }
<< >> 3 Einträge, 1 Seite



View all threads created 2008-09-10 15:30.