perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 17
Click for quality!




12.02.2012 / 03:33

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragZahlenwert überprüfen (regulärer ausdruck)
Seitenanfang
Hallo,

Ich habe folgendes "Problem". Also: Ich habe im Idealfall eine Zahl von 13 bis 52 in einem Skalar. z.B. $skalar=23.

Nun möchte überprüfen, ob dies wirklich der Fall ist. Das heißt, alles war größer als 52 und kleiner als 13 soll unwahr sein. Ich weiß dass ich das leicht mit if ($skalar > 52 or $skalar < 13) {} möglich ist, ich möchte das jedoch mit einem regulären Ausdruck lösen.

Ich habe etwas, dass jedoch nicht funktioniert:
if ($skalar =~ m/[13-52]/) {}
mir ist schon klar, warum es nicht funktioniert...aber rein vom logischen her soll es so sein. Danke!

Datum: 31.10.2006-23:51

Beitragre: Zahlenwert überprüfen (regulärer ausdruck)
Seitenanfang
Das kannst Du einfach mit einer generierten oder-Abfrage machen.

for my $i ( 13..52 ) {
$regex .= "$i\|" ;
}
chop($regex) ;

if ( $skalar =~ /^($regex)$/) {}

Datum: 31.10.2006-23:56

Beitragre: Zahlenwert überprüfen (regulärer ausdruck)
Seitenanfang
hi...danke erstmal..aber das funktioniert leider nicht (hab auch den . vor dem = weggemacht)

Datum: 01.11.2006-00:28

Beitragre: Zahlenwert überprüfen (regulärer ausdruck)
Seitenanfang
Mach den Punkt wieder hin, wo er war, dann funktioniert es auch...

Datum: 01.11.2006-08:39

Beitragre: Zahlenwert überprüfen (regulärer ausdruck)
Seitenanfang
zitat:
"for my $i ( 13..52 ) {
$regex .= "$i\|" ;
}
chop($regex) ;
"

aua. schon mal was von join() gehört?

my $regex = join '|', 13..52;

Datum: 01.11.2006-09:47

Beitragre: Zahlenwert überprüfen (regulärer ausdruck)
Seitenanfang
"Ich weiß dass ich das leicht mit if ($skalar > 52 or $skalar < 13) {} möglich ist, ich möchte das jedoch mit einem regulären Ausdruck lösen."

warum?

Datum: 01.11.2006-09:44

Beitragre: Zahlenwert überprüfen (regulärer ausdruck)
Seitenanfang
...ich dachte nur, dass es vllt eine einfachere Lösung gibt als das mit if kleiner und if größer zu lösen. Quasi einfach zu überprüfen ob sich eine Zahl X in einer bestimmten Zahlenmenge(z.B. [13 .. 52]) wiederfindet. Gibt es da vllt etwas? thx

Datum: 01.11.2006-11:28

-






-
-