12 Mayıs 2011, PERŞEMBE
re python.alt grup: \sonra sayı sayı
Nasıl değiştirebilir miyim '' 'foo123bar'? falanca
Bu çalışmıyor:
>>> re.sub(r'(foo)', r'\1123', 'foobar')
'J3bar'
Bu gibi çalışır:
>>> re.sub(r'(foo)', r'\1hi', 'foobar')
'foohibar'
Ortak bir sorun olduğunu düşünüyorum: \sayıdan sonra bir sayı. Kimse bana bu olayı nasıl bir etki yaratabilir?
CEVAP
12 Mayıs 2011, PERŞEMBE
Cevap:
re.sub(r'(foo)', r'\g<1>123', 'foobar')
Doktorlar Alıntı ile ilgili:
Karakter ek olarak kaçar ve yukarıda açıklandığı gibi geribaşvuruların \g alt kullanacak grup adı olarak eşleşti tarafından tanımlanan (?P...) sözdizimi. \g karşılık gelen kullanır Sayı;\&; 2^ g grubu lt . bu nedenle eşdeğer \2, ama belirsiz değil \g gibi bir yedek&; 2^ lt . 0. \20 bir başvuru olarak yorumlanır. grup 20, grup 2 için bir referans değil hazır bilgi karakteri '0'. Bu başlıyor \g<0>yedek tüm alt dize ile eşleşen RE.
Bunu Paylaş:
Nasıl bir dize bir sayı (yüzen) olup o...
Parantez Unix komut adlarını sonra gös...
Nasıl Python bir sayı KADAR yuvarlak m...
Nasıl yüzer bir dizi arasında rastgele...
Python yuvarlak 5 veya başka bir sayı)...