Reguläre Ausdrücke

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.
xpaffx
User
Beiträge: 13
Registriert: Montag 3. September 2007, 19:55

Nein das hat nicht gereicht, also hier folgendes müsste doch eigentlich gehen...tut es aber nicht:

Code: Alles auswählen

        worktxt = re.sub("FESTWERT DFES_Cls(.*?)WERT 1\.0", r'FESTWERT DFES_Cls\1WERT 2\.0','FESTWERT DFES_Cls\nhi\nWERT 1.0')
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Hast du BlackJacks Rat befolgt?
Offizielles Python-Tutorial (Deutsche Version)

Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
xpaffx
User
Beiträge: 13
Registriert: Montag 3. September 2007, 19:55

oh die antwort wurde vorhin in meinem browser nicht dargestellt...seltsam danke ist jetzt klar teste es morgen ;)
xpaffx
User
Beiträge: 13
Registriert: Montag 3. September 2007, 19:55

danke sehr, es hat geklappt!!! python rulez ;p
mulder
User
Beiträge: 49
Registriert: Montag 15. Oktober 2007, 10:36
Wohnort: nürnberg

moin!

ich habs jetz (wiedermal) lange versucht und denke das ich einfach mal den wald vor lauter baeumen nicht seh! .. :oops:

ich moechte einen re mit einer variable "fuellen" und dann einen findall machen!

aber der pattern will mit ueberhaupt nicht gelingen!

Code: Alles auswählen

        PATTERN = re.compile(r'(NAME;.*)')
        PATTERN =  "r\'" + NAME + ";.*\'"
das sind meine beiden letzten erfolglosen versuche! .. :cry:

also NAME ist nen varianlen name. der versuch mit dem compile sieht nicht nur hilflos aus ... er ist es auch .. :oops: ne also .. ich hab da noch nicht die richtige syntax zusammen!...
" schlimmer als stress ist, keinen zu haben"
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Versuchs mal damit:

Code: Alles auswählen

PATTERN = re.compile(r'(%s;.*)' % NAME)
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
mulder
User
Beiträge: 49
Registriert: Montag 15. Oktober 2007, 10:36
Wohnort: nürnberg

@ lenonidas

danke .. aber irgendwie laeuft das bei mir (jython 2.1a ) nicht! .. wenn ich

Code: Alles auswählen

PATTERN = re.compile(r'(%s;.*)' % NAME)
print  PATTERN
org.python.modules.sre.PatternObject@184bc10
sieht es eigentlich fuer mich .. okay aus! ... hmm ..???

der suchstring sieht so aus

application;filename;virtualhost;hostname

dafuer sollte doch der pattern passen?!

ich glaube ich hab mich wieder mal verrant ... hmm .. ich geh erstmal den kopf freimachen ..
" schlimmer als stress ist, keinen zu haben"
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

mulder hat geschrieben:der suchstring sieht so aus

application;filename;virtualhost;hostname

dafuer sollte doch der pattern passen?!
Was soll er denn matchen?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
mulder
User
Beiträge: 49
Registriert: Montag 15. Oktober 2007, 10:36
Wohnort: nürnberg

also ... ich lese das zeilenweise aus einer datei ein ..

und er soll die appliacation finden! ...


daher dachte ich mit r'NAME;.*' findet er es ... aber nix .. das ";" hat doch keine bedeutung in re ?? oder?
" schlimmer als stress ist, keinen zu haben"
BlackJack

Nein hat es nicht. Wie sieht denn `NAME` aus? Sind da vielleicht Zeichen drin die in regulären Ausdrücken eine Bedeutung haben?

Andererseits kannst Du auch einfach die Zeile mit ``line.startswith(NAME + ';')`` testen.
mulder
User
Beiträge: 49
Registriert: Montag 15. Oktober 2007, 10:36
Wohnort: nürnberg

DANKE!

ich wollte es wieder komplizierter machen als es geht! ..

:lol:

naja .. der einfachste weg ist manchmal der beste!
" schlimmer als stress ist, keinen zu haben"
Antworten