2009-11-08 97 views
1

我想從美麗的結果中統計'湯'中的標籤數量。我想用正則表達式,但遇到了麻煩。 伊夫嘗試的代碼如下:在BeautifulSoup中匹配標籤

reg_exp_tag = re.compile("<[^>*>") 
tags = re.findall(reg_exp_tag, soup(cast as a string)) 

re不會允許reg_exp_tag,給正則表達式的錯誤的一個意想不到的一端。

任何幫助將不勝感激!

感謝

+0

爲什麼在*地球*上,你錯誤地解析HTML與一個壞的正則表達式,當你已經用BeautifulSoup正確解析它?真的,到底是什麼? – bobince 2009-11-08 21:57:04

回答

1

難道不該"<[^>]*>",而不是"<[^>*>"

(類需要與]關閉)

+0

非常感謝!一直盯着它看這麼久沒有看到簡單的錯別字! – db90 2009-11-08 20:29:55

+0

呵呵,當程序員決定用正則表達式解決問題時,他最終遇到了2個問題。 – Kugel 2009-11-08 20:58:22

4

如果您已經解析與BeautifulSoup的HTML,何必再分析它?試試這個:

num_tags = len(soup.findAll()) 
+1

+1沒有正則表達式可能正確解析HTML,這就是爲什麼大多數人使用BeautifulSoup。 BeautifulSoup加上序列化到HTML和正則表達式只是一個錯誤! – bobince 2009-11-08 21:59:26