Python 如何使用lxml或bs获取尖括号中的文本

Python 如何使用lxml或bs获取尖括号中的文本,python,regex,beautifulsoup,lxml,Python,Regex,Beautifulsoup,Lxml,我想提取尖括号中的文本,如: <p><verb></p> 结果应该是 lxml和bs4在这种情况下不起作用,它们似乎将作为html标记。它们无法解析尖括号中的文本,只返回空字符串 那么,有什么解决办法吗?谢谢 这个怎么样 import re my_str = "<p><verb></p>" my_new_string = re.sub('[\<p\>|\<\/p\>]', '', my_str)

我想提取尖括号中的文本,如:

<p><verb></p>

结果应该是

lxml和bs4在这种情况下不起作用,它们似乎将
作为html标记。它们无法解析尖括号中的文本,只返回空字符串

那么,有什么解决办法吗?谢谢

这个怎么样

import re
my_str = "<p><verb></p>"
my_new_string = re.sub('[\<p\>|\<\/p\>]', '', my_str)
print my_new_string
重新导入
my_str=“

” my\u new\u string=re.sub(“[\\\]”,“,”,my\u str) 打印我的新字符串

输出:verb

这些lib做正确的事情。XML文档中尖括号中的单词不是文本,而是元素。如果要使用XML解析器解析文档,请适当使用XML语法(这里,要得到你想要的结果,应该是
动词
。你也可以使用
regex
@spectras事实上,我不是网页生成器。为了简单起见,生成器并不打算将其作为HTML标记,而是使用尖括号,而不是<或>。我认为libs应该检查标记的合法性。我只是想提取我t是许多p标记中的一个。缺少的文本对于构建后续文本很重要。@Simmerco>这些标记是合法的。XML允许文档中的任意元素。当你说–生成器无意将其作为HTML标记,并使用尖括号而不是<或>只是为了简单起见“,你只是说生成器是我们这就难怪HTML解析器没有给出你想要的结果:你不再解析HTML,而是一种看起来像HTML的自定义语言。这就像在你的问题中写
**这个**
,抱怨网站把它当作粗体,而你的意思是原始的星号。实际上y我不想使用re。示例p标记是许多p标记中的一个,这意味着我必须找到示例p标记,然后使用re。我只是想知道是否可以使用一致的方法而不是不同的策略来处理示例p标记与其他普通p标记。THX!anaway