SORU
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ş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Fubar Protocol

    Fubar Protoc

    21 AĞUSTOS 2010
  • karneson

    karneson

    23 Temmuz 2006
  • rtisticsdev

    rtisticsdev

    31 Mayıs 2012