Simpan tag html tertentu apabila membelah rentetan
P粉841870942
P粉841870942 2024-03-31 18:12:42
0
1
492

Saya perlu membelah rentetan dengan bilangan tag tertentu (<li>, <lu> ...). Saya tahu ungkapan biasa

pattern = <li>|<ul>|<ol>|<li>|<dl>|<dt>|<dd>|<h1>|<h2>| <h3>|<h4>|<h5>|<h6>re.split

Pada asasnya ia menyelesaikan kerja

test_string = '<p> Some text some text some text. </p> <p> Another text another text </p>. <li> some list </li>. <ul> another list </ul>'
res = re.search(test_string, pattern) 
-> `['<p> Some text some text some text. </p> <p> Another text another text </p>. ', ' some list </li>. ', ' another list </ul>']`

Tetapi saya ingin menangkap teg pembuka dan penutup dan menyimpan teg dalam teks berpecah. Sesuatu yang serupa

['<p> Some text some text some text. </p> <p> Another text another text </p>. ', '<li> some list </li>. ', '<ul>another list </ul>']`

P粉841870942
P粉841870942

membalas semua(1)
P粉787806024

Untuk menjawab soalan khusus anda:

[^

Dan padankan bukannya berpecah.

1 merujuk kepada apa yang ditangkap dalam tag pembukaan.

Serupa dengan:

for match in re.finditer(r"[^", subject, re.DOTALL):

Walau bagaimanapun, dalam kebanyakan kes sebenar ini tidak mencukupi untuk mengendalikan HTML dan anda harus mempertimbangkan penghurai DOM.

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