ElGrAnDiOs
Mitglied
hallo,
ich versuche gerade eine RegExp zu bauen, welche einen Namen innerhalb eines Strings findet.
Nicht wirklich schwer, und klappt soweit, bis auf eine Ausnahme:
meine Namen sind wie folgt formatiert: Nachname-Initial vom Vornamen (bspw. Müller-A für Anton Müller)
es treten auch Sonderfälle auf, wie z.B. Doppelnamen, die dann entweder so Müller-AT oder so Müller-A-T (für Anton Thomas Müller) aussehen können.
mein Problem ist, dass die regexp in diesem Fall die Wortgrenze nicht wirklich beachtet und z.B. bei Müller-A-T auch Müller-A findet, der aber eigentlich ein anderer Müller-A ist (von mir auch Andreas Müller)...
da ich mich noch nicht sehr gut mit RegExp auskenne, kann mir vllt. jemand des Rätsels Lösung verraten?
Bin leider durch Suche usw nicht weitergekommen. Habe auch schon versucht den Bindestrich zu escapen und zu negieren, funktioniert aber irgendwie nicht...
meine RegExp:
bereits versucht habe ich:
gruß
egd
ich versuche gerade eine RegExp zu bauen, welche einen Namen innerhalb eines Strings findet.
Nicht wirklich schwer, und klappt soweit, bis auf eine Ausnahme:
meine Namen sind wie folgt formatiert: Nachname-Initial vom Vornamen (bspw. Müller-A für Anton Müller)
es treten auch Sonderfälle auf, wie z.B. Doppelnamen, die dann entweder so Müller-AT oder so Müller-A-T (für Anton Thomas Müller) aussehen können.
mein Problem ist, dass die regexp in diesem Fall die Wortgrenze nicht wirklich beachtet und z.B. bei Müller-A-T auch Müller-A findet, der aber eigentlich ein anderer Müller-A ist (von mir auch Andreas Müller)...
da ich mich noch nicht sehr gut mit RegExp auskenne, kann mir vllt. jemand des Rätsels Lösung verraten?
Bin leider durch Suche usw nicht weitergekommen. Habe auch schon versucht den Bindestrich zu escapen und zu negieren, funktioniert aber irgendwie nicht...
meine RegExp:
Code:
"/\b".$name."\b/i"
bereits versucht habe ich:
Code:
"/\b".[$name]."\b[^\-]/i"
gruß
egd