Matching nur ein Unicode-Brief in Python re

Ich habe einen String, aus dem ich 3 Gruppen extrahieren möchte:

'19 janvier 2012' -> '19', 'janvier', '2012' 

Monatsname konnte nicht ASCII-Zeichen enthalten, also [A-Za-z] funktioniert nicht für mich:

 >>> import re >>> re.search(ur'(\d{,2}) ([A-Za-z]+) (\d{4})', u'20 janvier 2012', re.UNICODE).groups() (u'20', u'janvier', u'2012') >>> re.search(ur'(\d{,2}) ([A-Za-z]+) (\d{4})', u'20 février 2012', re.UNICODE).groups() Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'NoneType' object has no attribute 'groups' >>> 

Ich könnte \w aber es entspricht Ziffern und Unterstrich:

 >>> re.search(ur'(\w+)', u'février', re.UNICODE).groups() (u'f\xe9vrier',) >>> re.search(ur'(\w+)', u'fé_q23vrier', re.UNICODE).groups() (u'f\xe9_q23vrier',) >>> 

Ich habe versucht, [: alpha:] zu benutzen, aber es funktioniert nicht:

 >>> re.search(ur'[:alpha:]+', u'février', re.UNICODE).groups() Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'NoneType' object has no attribute 'groups' >>> 

Wenn ich irgendwie ohne [_0-9] , aber ich weiß nicht wie. Und selbst wenn ich herausfinde, wie das zu tun ist, gibt es eine fertige Verknüpfung wie [:alpha:] was in Python funktioniert?

One Solution collect form web for “Matching nur ein Unicode-Brief in Python re”

Sie können eine neue Zeichenklasse konstruieren:

 [^\W\d_] 

Anstelle von \w . Übersetzt ins Englische bedeutet es "Jedes Zeichen, das kein nicht-alphanumerisches Zeichen ist ( [^\W] ist das gleiche wie \w ), aber das ist auch keine Ziffer und kein Unterstrich".

Daher wird es nur Unicode-Buchstaben zulassen (wenn du die re.UNICODE Kompilieroption benutzt).

  • Was ist der Standard-Inhaltstyp / Zeichensatz?
  • Parsing UTF-8 / Unicode-Strings mit lxml HTML
  • Wie mache ich einen sicheren Binärvergleich in Python?
  • Unterdrücken Sie das u'prefix, das Unicode anzeigt, in Python-Strings
  • Unicode re.sub () funktioniert nicht mit \ g <0> (Gruppe 0)
  • Arabisch, Unicode und Dateien in Python
  • Was ist der Umgang mit Python 3.4, Unicode, verschiedenen Sprachen und Windows?
  • Python-Schnittstelle zu PayPal - urllib.urlencode Nicht-ASCII-Zeichen fehlgeschlagen
  • ReportLab: Arbeiten mit chinesischen / Unicode-Zeichen
  • Unabhängige Konvertierung von Unicode-String in ascii-String in Python
  • Python-Strings und str () -Methode Codierung und Decodierung
  • Python ist die beste Programmiersprache der Welt.