Hallo,
ich hab schon ewig rumprobiert, komm aber nicht drauf. Gibts eine Gruppe (sowie a-zA-Z0-9) für Sonderzeichen ? das mit dem "." geht irgenwie nicht
RE : Platzhalter für alle möglichen Zeichen (auch Sonderz.)
Nein, es gibt keine konkrete Gruppe. Aber du kannst die dir doch ganz leicht selebr zusammenstellen, einfach in [ ] Klammern schreiben, oder falls das zuviel ist, die nicht erwünschten Zeichen (halt die übrigen) ausschließen. (z.B.: [^a-zA-z0-9])
Was für einen Re möchtest du denn basteln?
Was für einen Re möchtest du denn basteln?
Zuletzt geändert von Milan am Donnerstag 22. Januar 2004, 17:52, insgesamt 1-mal geändert.
Hallo MacEvil,
Was meinst du alles mit Sonderzeichen? Es gibt sehr, sehr viele.
Wenn du die auf der deutschen Tastatur üblichen meinst, hilft dir vielleicht das "string"-Modul weiter.
"string.punctuation" liefert folgende Zeichen:
!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
"string.printable" liefert folgende Zeichen:
0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
Du könntest sie z.B. so im "re"-Modul verwenden.
Nachtrag: Leider kam mein Beitrag zu spät. Deswegen paßt er nicht mehr so ganz.
Was meinst du alles mit Sonderzeichen? Es gibt sehr, sehr viele.
Wenn du die auf der deutschen Tastatur üblichen meinst, hilft dir vielleicht das "string"-Modul weiter.
"string.punctuation" liefert folgende Zeichen:
!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
"string.printable" liefert folgende Zeichen:
0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
Du könntest sie z.B. so im "re"-Modul verwenden.
Code: Alles auswählen
import re
import string
s="C:\Dokume&nte und Einst^()'#ellu**ngen\All Users]\Dokumente\Hinz+Kunz"
var1=string.punctuation
find=re.findall("["+var1+"]",s)
Zuletzt geändert von HarryH am Donnerstag 22. Januar 2004, 15:32, insgesamt 1-mal geändert.
Gruß, Harry
-
- Python-Forum Veteran
- Beiträge: 2010
- Registriert: Freitag 11. Oktober 2002, 18:00
- Wohnort: Salzburg
- Kontaktdaten:
ich seh grad, du willst ja nicht den Link sondern das was zwischen <a href=...> und </a> steht, dann lass doch alle Zeichen durch, die nicht "<" sind.
Liefert Dir mit findall, eine Liste von Tuplen (linkziel,linktext) aller passenden Links.
Gruß
Dookie
Code: Alles auswählen
"<a.*?href\s*=\s*[\"']?([^\s\"'>]+).*?>([^<]*)</a></b><br><br>"
Gruß
Dookie
-
- Python-Forum Veteran
- Beiträge: 2010
- Registriert: Freitag 11. Oktober 2002, 18:00
- Wohnort: Salzburg
- Kontaktdaten:
wie/was im terminal ausführen?
Gruß
Dookie
Code: Alles auswählen
>>> import re
>>> regex = re.compile("<a.*?href\s*=\s*[\"']?([^\s\"'>]+).*?>([^<]*)</a></b><br><br>")
>>> text = '<b><a href="/ordner/blbla">text</a></b><br><br>'
>>> found = regex.findall(text)
>>> for t in found:
... print t
...
('/ordner/blbla', 'text')
Gruß
Dookie