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

  • Fubar Protocol

    Fubar Protoc

    21 AĞUSTOS 2010
  • Neil Cicierega

    Neil Ciciere

    22 Mart 2006
  • MofoHifi Records

    MofoHifi Rec

    15 HAZİRAN 2006