Regulärer Ausdrücke 3

$str = "From:michael.kalinka\@gmx.de";
Bereiche einzelner Zeichen mit [ ]
Mit [abc] kann geprüft werden, ob "a" oder "b" oder "c" vorkommt.

Beispiel : if ($str =~ /[yZa]/) { print "y|Z|a in $str" }
Beispiel : if ($str =~ /[yZ]/) {} else { print "weder y noch Z in $str" }

Bemerkung : Das gleich gilt für Ziffern.

Bereichsangaben :
[a-e] steht für [abcde]
[0-9] steht für alle Ziffern [0123456789]
Beispiel : if ($str =~ /[0-9]/) {} else { print "keine Ziffer in $str" }
[a-zA-Z0-9] steht für alle alphanumerischen Zeichen

Negierung in Bereichen :
[^abc] steht für nicht "a" und nicht "b" und nicht "c"
Beispiel : if ($str =~ /[^Z]/) { print "Es gibt ein Zeichen, das kein Z ist" }
Beispiel : if ($str =~ /[^Za]/) { print "Es gibt ein Zeichen, das kein Z oder kein a ist" }
Beispiel : if ($str =~ /[^a]/) { print "Es gibt ein Zeichen, das kein a ist" }

Extraktion mit ( )
Durch Klammerung können bestimmte Matches extrahiert werden.

Beispiel : $wort = ($str =~ /^(\w)/);
==> $wort = "From"
Beispiel : ($keyword,$text) = ($str =~ /^(\w):(.*)/);
==> $keyword = "From" , $text = "michael.kalinka@gmx.de"

Beispiel : $str =~ /^(.*):(.*)/;
==> $1 = "From" , $2 = "michael.kalinka@gmx.de"

ACHTUNG :
Beispiel : $str =~ /^(\w):(.*)/;
==> kein Matching ( Grund unbekannt, Hinweise an obige mail ) Beispiel : $str =~ /(\w):(.*)/;
==> $1 = "m" ( Grund unbekannt, Hinweise an obige mail )