Seite 1 von 1

matchen einer regular expression

Verfasst: Dienstag 14. Juni 2005, 12:15
von Gast
Hallo
ich habe nur ein ganz kurzes Problemchen
ich habe ein Wort zum Beispiel 'haus' und möchte in einer Zeile darauf matchen

wenn ich aber eine Zeile mit : 'in meinem_haus befindeet sich etwas'
habe dann matcht er natürlich auch....

matchen soll er da natürlich nicht...
aber bei zeilen wie folgender: 'in 2*haus/affe' da soll er matchen....

hat jemand eine hilfe/idee???


Danke

Verfasst: Dienstag 14. Juni 2005, 14:04
von Gast
ok
hab die regex...

allerdings habe ich noch ein problemchen...

wenn ich eine string variable ala a = 'haus' habe
wie kann ich die in die regular expression einbauen???

die regex sieht so aus: regex = re.compile('(?!.*_haus.*)')
aber mit re.compile('(?!.*_a*)') gehts natürlich nicht! ?????

Verfasst: Dienstag 14. Juni 2005, 14:13
von Gast
hat sich erledigt...

einfach ne zusatzvariable als gesamten string in die regex einlesen!

Verfasst: Dienstag 14. Juni 2005, 14:40
von mawe
Hi!
regex = re.compile('(?!.*_haus.*)')
Kannst Du mir die regex erklären. Wie soll die in 2*haus/affe matchen und in meinem_haus befindeet sich etwas nicht?

Gruß, mawe

Verfasst: Samstag 18. Juni 2005, 13:00
von Gast
.* bedeutet beliebige Zeichen...
also hinter dem haus .* und vor dem underscore auch. ?! bedeutet genau dann nicht matchen...
:o)

Verfasst: Samstag 18. Juni 2005, 13:41
von joe
Anonymous hat geschrieben:.* bedeutet beliebige Zeichen...
also hinter dem haus .* und vor dem underscore auch. ?! bedeutet genau dann nicht matchen...
:o)
Aber du wolltest doch "haus" erkennen, mit der zusatzbedingung, dass kein "_" davor sein darf. Aber '(?!.*_haus.*)' erkennt auch zeichenketten, in denen "haus" überhaupt nicht vorkommt.
joe