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
      

UtilFaqSubForm edit

Titel Wie finde ich einen Textabschnitt ohne Beachtung von Klein- und Großschreibung?
Autor Ishka & perl-community
Bereich FaqStrings
Topic revision: 2006-05-06, TinaMueller
 
Bitte die NutzungsBedingungen beachten.
Bei Vorschlägen, Anfragen oder Problemen mit dem PerlCommunityWiki bitten wir um WebBottomBarExample">Rückmeldung.