Hi
Ich suche in einem String einen String, der ungefähr so aussehen kann:
[-Buchstaben-]
oder auch
[Buchstaben.undZahlen]
Ich probiere es mit
[a-zA-Z0-9_[]-]*
Leider wird der String nicht gefunden
Was mache ich denn falsch?
Was anderes auslesen klappt ohne Probleme, nur wenn der String bzw. die RE ein - oder [ oder ] oder sowas enthält, dann klappt es nicht
Danke schon mal
Bye, Transmitter
Probleme mit RegularExpressions
Hoi
Eckige Klammern sind Teil der Regulären Ausdrücke. Also mußt Du mit sog. Escape-Sequenzen arbeiten, z. B. [\w\[\]]. Das könnte u. U. der Ausdruck sein, den Du suchst, aber leider habe ich nicht genau verstanden welchen Ausdruck Du brauchst, wenn es mit dem Tipp und dem Beispiel nicht klappt gib doch man ein konkretes Beispiel.
Gruß,
Christian
PS Du versuchst nicht zufällig Windows-INI Dateien zu parsen?
Eckige Klammern sind Teil der Regulären Ausdrücke. Also mußt Du mit sog. Escape-Sequenzen arbeiten, z. B. [\w\[\]]. Das könnte u. U. der Ausdruck sein, den Du suchst, aber leider habe ich nicht genau verstanden welchen Ausdruck Du brauchst, wenn es mit dem Tipp und dem Beispiel nicht klappt gib doch man ein konkretes Beispiel.
Gruß,
Christian
PS Du versuchst nicht zufällig Windows-INI Dateien zu parsen?
-
- User
- Beiträge: 24
- Registriert: Mittwoch 24. November 2004, 02:23
Danke schon mal für deine Antwort.
Nein, es geht nicht um die Win ini, ich muss einen Intranet Katalog parsen und in eine DB schreiben, das muss über das html Frontend funktionieren.
Ich habe z.B. folgendes:
vawevysef[-Pos1-]av drg
und
rarvoeyytyvye[Pos1.1]yvbny
Was ich haben will ist im ersten Fall:
[-Pos1-]
und im 2. Fall
[Pos1.1]
Mein RA sieht jetzt so aus:
[\w\[\]-]*
aber gefunden wird das leider immer noch nicht
Kann ich nicht nach
[ gefolgt von x Zeichen und ]
suchen, und das dann gleich speichern?
Nein, es geht nicht um die Win ini, ich muss einen Intranet Katalog parsen und in eine DB schreiben, das muss über das html Frontend funktionieren.
Ich habe z.B. folgendes:
vawevysef[-Pos1-]av drg
und
rarvoeyytyvye[Pos1.1]yvbny
Was ich haben will ist im ersten Fall:
[-Pos1-]
und im 2. Fall
[Pos1.1]
Mein RA sieht jetzt so aus:
[\w\[\]-]*
aber gefunden wird das leider immer noch nicht
Kann ich nicht nach
[ gefolgt von x Zeichen und ]
suchen, und das dann gleich speichern?
Entspricht das Deinen Vostellungen?
Gruß,
Christian
Code: Alles auswählen
import re
s = ['vawevysef[-Pos1-]av drg','rarvoeyytyvye[Pos1.1]yvbny']
p = re.compile('\[-?[\w.]*-?\]')
for x in s:
m = p.search(x)
print m.span()
print m.group()
Christian
-
- User
- Beiträge: 24
- Registriert: Mittwoch 24. November 2004, 02:23
Ja .. das ist schon besser als meine Version
Danke dir
Danke dir