Ungkapan biasa yang melibatkan DAN dalam python
P粉988025835
P粉988025835 2023-09-14 16:30:41
0
1
630

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 = "Kandungan yang diperlukan"

  1. Menetapkan semula rentetan s kepada rentetan yang mengalih keluar segala-galanya di antara "<...>".

s = re.sub('<{1}( bukan '<' 也不是 '>').*>{1}', '', s)

  1. Ulangi ini sehingga anda tinggal dengan s="kandungan yang dikehendaki".

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粉988025835
P粉988025835

membalas semua(1)
P粉348088995

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.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan