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

  • Canal de arkyoru

    Canal de ark

    18 Ocak 2007
  • Joe DiFeo

    Joe DiFeo

    7 AĞUSTOS 2012
  • RinconDynamic

    RinconDynami

    1 EKİM 2011