matchen einer regular expression

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
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
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! ?????
Gast

hat sich erledigt...

einfach ne zusatzvariable als gesamten string in die regex einlesen!
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

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
Gast

.* bedeutet beliebige Zeichen...
also hinter dem haus .* und vor dem underscore auch. ?! bedeutet genau dann nicht matchen...
:o)
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
Antworten