我想知道是否可以编写一个python正则表达式来匹配任何有效的英文句子,该句子可以包含字母数字和特殊字符。
基本上,我想从XML文件中提取一些特定元素。这些特定元素将具有以下形式:
<p o=<Any Number>> <Any English sentence> </p>
例如:
<p o ="1"> The quick brown fox jumps over the lazy dog </p>
或
<p o ="2"> And This is a number 12.90! </p>
我们可以轻松地为
编写正则表达式<p o=<Any Number>>
和</p>
标记。但我有兴趣通过编写正则表达式组来提取这些标签之间的句子。
有人可以建议使用正则表达式解决上述问题吗?
另外,如果您可以建议一种解决方法,那么对我来说也会非常有帮助。
答案 0 :(得分:8)
使用像lxml这样的XML解析器,regex不适合此任务。 示例:
import lxml.etree
// First we parse the xml
doc = lxml.etree.fromstring('<p o ="2"> And This is a number 12.90! </p>')
// Then we use xpath to extract the element we need
doc.xpath('/p/text()')
您可以在Xpath tutorial了解有关XPATH的更多信息。
答案 1 :(得分:1)
你应该真的使用xml解析器。示例http://www.travisglines.com/web-coding/python-xml-parser-tutorial。