Wie man bei der Suche nach einzelnen Zeichen eine Auswahl vorgeben kann, haben
wir im Abschnitt zu den Zeichenklassen gesehen. Natürlich möchte man
diese Möglichkeit auch bei längeren Ausdrücken zur Verfügung
haben. Dazu wird der senkrechte Strich ("|
") verwendet, der die
einzelnen Alternativen voneinander trennt.
#!/usr/local/bin/perl -w $t = "Perl"; if($t =~ /FORTRAN|C|Pascal|Perl/) { print "true ($&)\n" } else { print "false\n" } |
Bei der Suche werden die Alternativen von links beginnend durchprobiert bis ein passendes Muster gefunden wurde (hier: "Perl").
Bei komplexeren Ausdrücken müssen meist Klammern gesetzt werden, damit klar ist, welche Teile zu den Alternativen gehören und welche nicht.
#!/usr/local/bin/perl -w $t = "1997"; if($t =~ /1996|97|98/) { print "true ($&)\n" } else { print "false\n" } if($t =~ /19(96|97|98)/) { print "true ($&)\n" } else { print "false\n" } |
Beide Tests sind zwar erfolgreich, liefern aber unterschiedliche Ergebnisse
in $&
("97" bzw. "1997")
Autor: Eike Grote | Letzte Änderung: 02.10.1997 |