Ich hab einen ganz normalen String in einer Variablen namens $test.
Ich möchte dazu eine Abfrage erstellen mit folgenden Bedingungen:
1) Es darf in diesem String nur genau ein "E" vorkommen, nicht mehr und nicht weniger.
2) Es muss nach dem "E" irgendwo ein "." kommen, allerdings nicht direkt nach dem "E".
Sprich die korrekt Eingabe müsste so aussehen: aaaEccc.zzz
Sollten die beiden Bedingungen (siehe oben) nicht erfüllt sein, so soll 'false' zurückgegeben werden, ansonsten halt ein 'true'.
Kann mir jemand die If-Bedingung oder eine Lösung dafür sagen?
Ich hab's schon mit den 'regluar expressions' probiert, bin aber nicht zu einer 100% Lösung gekommen.
User since
2003-08-04
14371
Artikel
ModeratorIn
#! /usr/bin/perl
$test = 'aaEa2.a';
$test =~ /^([^E]*?)E([^E]+?)\.[^E]*?$/? print "yes\n": print "no\n";
$test2 = 'aaa2E.a';
$test2 =~ /^([^E]*?)E([^E]+?)\.[^E]*?$/? print "yes\n": print "no\n";
$test3 = 'aEaEa2.a';
$test3 =~ /^([^E]*?)E([^E]+?)\.[^E]*?$/? print "yes\n": print "no\n";
_ _END_ _
yes
no
no