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

  • ICON

    ICON

    19 EKİM 2011
  • MultiPlayStationMan

    MultiPlaySta

    17 Aralık 2009
  • ParryGripp

    ParryGripp

    12 AĞUSTOS 2006