SORU
22 EKİM 2010, Cuma


Python: düzenli ifade ile Değiştirin

Bir dize parçası değiştirmek istiyorum. Python belgelerine bakarak ve tekrar buldum.alt.

import re
s = '<textarea id="Foo"></textarea>'
output = re.sub(r'<textarea.*>(.*)</textarea>', 'Bar', s)
print output

>>>'Bar'

Baskı '<textarea id="Foo">Bar</textarea>' beklediğim gibi değil ''. bar

Herkes nerede yanlış yaptığımı söyleyebilir mi?

CEVAP
22 EKİM 2010, Cuma


Bölüm yakalamak yerinedeğiştirinistediğiniz parçaları yakalayabilirdevam etve sonra onlara bir referans \1 yedek string dahil kullanarak bakın.

Onun yerine bunu deneyin:

output = re.sub(r'(<textarea.*>).*(</textarea>)', r'\1Bar\2', s)

Ayrıca, bu olduğunu varsayarsak, bu görev için bir HTML çözümleyici kullanarak, örneğin Beautiful Soup düşünmelisiniz HTML.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • GoldgenieOfficial

    GoldgenieOff

    23 Temmuz 2009
  • Matt Stokes

    Matt Stokes

    22 Ocak 2008
  • TopDJMag TV

    TopDJMag TV

    29 Temmuz 2010