Rumah > Soal Jawab > teks badan
Saya telah bergelut untuk beberapa ketika sekarang cuba mendapatkan regex yang betul untuk tugas berikut:
Saya ingin mengalih keluar data daripada tag jadual dalam fail html menggunakan python. Pendekatan saya untuk ini ialah melakukan perkara berikut secara rekursif (simpan baris HTML antara tag sebagai rentetan):
s = "
s = re.sub('<{1}( bukan '<' 也不是 '>').*>{1}', '', s)
Soalan saya ialah bagaimana untuk melaksanakan bahagian tebal dalam kurungan. Terima kasih. Teks anda
Saya dah cuba
import re test_str = '<td style="color:blue">Hello</td>' test_str = re.sub('<{1}^[<>].*>{1}','',test_str) print(test_str)
Anda dapat melihat bahawa rentetan ujian saya kekal sama. Apa yang saya buat salah?
Kod di atas yang saya jangkakan memberi saya test_str = "Hello", saya akan menyuapnya kembali ke dalam kaedah ini, yang kemudian mengekstrak "", memberi saya "Hello".
P粉3480889952023-09-15 09:00:18
Untuk menafikan kelas watak, gantikan ^
放在 [
之后。此外,您不需要为出现一次的字符指定 {1}
.
test_str = re.sub('<[^<>]*>', '', test_str)
Walau bagaimanapun, sila ambil perhatian bahawa adalah lebih sesuai untuk menggunakan penghurai HTML khusus seperti BeautifulSoup dan bukannya ungkapan biasa untuk mendapatkan data daripada HTML.