Aşağıdaki normal ifadede, dizedeki her karakterin bir 'X' ile değiştirilmesini isterim, ancak çalışmıyor. Python 2.7 olarak[a-zA-Z] Python regex modeli ASCII olmayan Unicode karakterleriyle eşleşecek ve değiştirilebilecek mi?
:
>>> import re
>>> re.sub(u"[a-zA-Z]","X","dfäg")
'XX\xc3\xa4X'
veya Python 3.4 olarak
>>> re.sub("[a-zA-Z]","X","dfäg",re.UNICODE)
u'XX\xe4X'
:
>>> re.sub("[a-zA-Z]","X","dfäg")
'XXäX'
mi mümkün için nedense 'yapılandırmak' [a-zA-Z] 'ä', 'ü' vb. Bu yapılamazsa, her zamanki 'tam alfabe' aralığında Unicode karakterler içerecek şekilde köşeli parantezler arasında benzer bir karakter aralığı deseni nasıl oluşturabilirim? Demek istediğim, Almanca gibi bir dilde, 'ä' alfabede 'a' yakın bir yere yerleştirilecekti, bu yüzden 'a-z' serisine dahil edilmesini bekliyordu.
Kullanımı '\ w', bu yeterli olacaktır. –
Soruyu doğru bir şekilde anlayabiliyorsam, '\ w'' [A-Za-z] 'kümesinde olmayan tüm harfleri hariç tutacaktır. Denedim [burada] (https://regex101.com/r/rR2hZ1/1). – npinti
@npinti: Unicode değiştiricisiyle [aksanlı harfle eşleşir] (https://regex101.com/r/rR2hZ1/2). –