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