W poniższym wyrażeniu regularnym chciałbym, aby każdy znak w ciągu został zamieniony na "X", ale nie działa.Czy można wykonać wzorzec regex [a-zA-Z] w celu dopasowania i zastąpienia znaków Unicode w standardzie innym niż ASCII?
W Pythonie 2,7:
>>> import re
>>> re.sub(u"[a-zA-Z]","X","dfäg")
'XX\xc3\xa4X'
lub
>>> re.sub("[a-zA-Z]","X","dfäg",re.UNICODE)
u'XX\xe4X'
W Pythonie 3,4:
>>> re.sub("[a-zA-Z]","X","dfäg")
'XXäX'
jest możliwe w pewnym sensie 'Konfiguracja' [A-zA-Z] wzór pasujący do "ä", "ü" itp.? Jeśli nie można tego zrobić, w jaki sposób mogę utworzyć podobny wzór zakresu znaków między nawiasami kwadratowymi, który zawierałby znaki Unicode w zwykłym zakresie "pełnego alfabetu"? Mam na myśli, na przykład w języku niemieckim, że "ä" zostanie umieszczone gdzieś w pobliżu "a" w alfabecie, więc można by oczekiwać, że będzie on włączony w zakres "a-z".
użyć '\ w', to powinno wystarczyć. –
Jeśli poprawnie rozumiem pytanie, '\ w' wykluczy wszystkie litery, które nie mieszczą się w zbiorze' [A-Za-z] '. Próbowałem go [tutaj] (https://regex101.com/r/rR2hZ1/1). – npinti
@ npinti: z modyfikatorem Unicode [pasuje do litery z akcentem] (https://regex101.com/r/rR2hZ1/2). –