Zwei Zeichenketten miteinander vergleichen

28/05/2010 - 07:28 von Nils Müller | Report spam
Hallo,

ich möchte zwei Zeichenketten miteinander vergleichen:

$string1 = "Dies ist ein Test, von einem Testtexter";
$suche_nach = "Test ein";

$suche_nach =~ tr/ /|/;
if ($string1 =~ m/$suche_nach/gi) { # i (ignorecase)


Soweit funktioniert dass ganz gut. Allerdings wird bei der Suche sowohl "Test" als auch
"Testtexter" gefunden bzw. "ein" und "einem". Ich will aber dass explizit nach "Test" und
"ein" gesucht wird (groß-/kleinschreibung ist dabei egal).
Ich verzweifel langsam an RegEx :-)
 

Lesen sie die antworten

#1 Frank Seitz
28/05/2010 - 08:23 | Warnen spam
Nils Müller wrote:

ich möchte zwei Zeichenketten miteinander vergleichen:

$string1 = "Dies ist ein Test, von einem Testtexter";
$suche_nach = "Test ein";

$suche_nach =~ tr/ /|/;
if ($string1 =~ m/$suche_nach/gi) { # i (ignorecase)


Soweit funktioniert dass ganz gut. Allerdings wird bei der Suche sowohl "Test" als auch
"Testtexter" gefunden bzw. "ein" und "einem". Ich will aber dass explizit nach "Test" und
"ein" gesucht wird (groß-/kleinschreibung ist dabei egal).
Ich verzweifel langsam an RegEx :-)



Das geht mit \b. Wenn du die Suchwörter mit \b einfasst, wird kein Teilwort
mehr gematcht.

Grüße
Frank
Dipl.-Inform. Frank Seitz
Anwendungen für Ihr Internet und Intranet | Web-, Datenbank-, Unix-Development
Tel: +49 (0)4103/180301, Fax: -02, Industriestr. 31, D-22880 Wedel

Blog: http://www.fseitz.de/blog

Ähnliche fragen