分割字串時保留特定的 html 標籤
P粉841870942
P粉841870942 2024-03-31 18:12:42
0
1
302

我需要以特定數量的標籤分割字串 (<li>, <lu> ...)。我想出了正規表示式

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

############################################################################ ###基本上它可以完成工作###
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>']`
###但我想捕獲開始和結束標籤並將標籤保留在分割文字中。類似的東西###
['<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

全部回覆(1)
P粉787806024

回答您的具體問題:

[^

並且匹配而不是拆分。

\1 指的是開始標記中捕獲的內容。

類似:

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

但是,在大多數真實情況下,這不足以處理 HTML,您應該考慮 DOM 解析器。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!