str1 = abdk3<h1>The content we need</h1>aaaaabbb<h2>The content we need2</h2>
我們需要h1標籤和h2標籤內的內容。Python的正則表達式
這樣做的最好方法是什麼?謝謝
感謝您的幫助!
str1 = abdk3<h1>The content we need</h1>aaaaabbb<h2>The content we need2</h2>
我們需要h1標籤和h2標籤內的內容。Python的正則表達式
這樣做的最好方法是什麼?謝謝
感謝您的幫助!
如果需要縮放的話,最好的方法就是使用BeautifulSoup。
>>> from BeautifulSoup import BeautifulSoup
>>> soup = BeautifulSoup('abdk3<h1>The content we need</h1>aaaaabbb<h2>The content we need2</h2>')
>>> soup.h1
<h1>The content we need</h1>
>>> soup.h1.text
u'The content we need'
>>> soup.h2
<h2>The content we need2</h2>
>>> soup.h2.text
u'The content we need2'
它也可以使用正則表達式來完成,但這可能更符合您的需求。你想要的更大的例子可能是好的。不知道你想分析什麼,很難正確地幫助你。
第一點建議:不要使用HTML/XML PARSING的正則表達式!
現在我們已經清除了那個,我建議你看看Beautiful Soup。還有其他可用於Python的SGML/XML/HTML解析器。然而,這是我們大多數人在現實世界中發現的處理馬虎「標籤湯」的最愛。它不要求輸入符合標準和格式。如果你的瀏覽器可以設法渲染它,那麼Beautiful Soup可能會設法爲你解析它。
(仍傾向於使用正則表達式完成這個任務?思考「也不能說不好,我只是想提取只是什麼在<h1>...</h1>
和<h2>...</h2>
容器。」還有......「我會從來沒有需要處理任何其他角落案例「這種方式就是瘋狂,你根據這種推理方法編寫的代碼將是脆弱的,它會適當地通過你的測試,然後它會變得越來越糟糕,每當你需要修復「只有一件事」。認真地說,導入一個真正的解析器並使用它)。
*這樣做的最佳方法是什麼?* - 獲取HTML解析器...? – kennytm 2010-11-15 07:38:30
我的意思是我怎麼寫這個正則表達式? – user469652 2010-11-15 07:42:04
如何可能沒有人鏈接到[this](http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags)呢? – Maus 2012-09-13 23:13:19