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

  • CaptainDisillusion

    CaptainDisil

    18 EYLÜL 2007
  • Doug Bernards

    Doug Bernard

    7 Kasım 2007
  • HuskyStarcraft

    HuskyStarcra

    4 HAZİRAN 2009