Strings - Mustererkennung
Wie finde ich einen Textabschnitt ohne Beachtung von Klein- und Großschreibung?
(
Autor: Ishka & perl-community)
Ich habe einen String, und möchte wissen, ob er ein bestimmtes Wort enthält, wobei
die Klein/Großschreibung keine Rolle spielt:
$string='Das ist der ZWEITE Musterstring';
if ($string=~m/zwei/)
{
print "Da das Muster >zwei< nicht vorkommt, wird dieser String auch nicht ausgegeben!'
}
if ($string=~m/zwei/i)
{
print 'Aber wenn man klein- und großschreibung mit "i" ignoriert, kommt >zwei< schon vor'
}
Erklärung:
Hier wird wie in Teil 1 einer Variablen ein String übergeben, und nachher geprüft, ob ein
bestimmtes Muster vorliegt. Allerdings wird normalerweise exakt geprüft (auch auf
klein/großschreibung, weshalb er das Muster "zwei" nicht erkennt. Mittels eines nachgestellten
"i" (eines sog. Flags) kann man diese exakte Prüfung ausstellen, und er ignoriert
klein/großschreibung, weshalb im zweiten Fall die if-Anweisung ausgeführt wird.
Weitere Flags:
g Global suchen, d.h. alle Vorkommen finden.
m Zeichenketten können aus mehreren Zeilen bestehen
o Suchmuster nur einmal anwenden
s Zeichenketten als eine einzige Zeile betrachten
x Erweiterte Syntax verwenden
Ergänzungen, Kommentare
Kommentare werden am besten in folgender Form vorgenommen, damit
sie im Inhaltsverzeichnis angezeigt werden:
---### Main.??? - 14 Jul 2003 - Betreff