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

  • atKristaBradford

    atKristaBrad

    4 Aralık 2010
  • Autodesk 3ds Max Learning Channel

    Autodesk 3ds

    23 HAZİRAN 2010
  • POGProductionz

    POGProductio

    27 NİSAN 2012