1

我想知道是否可以编写一个 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>标签。但我有兴趣通过编写正则表达式组来提取这些标签之间的句子。

任何人都可以建议使用正则表达式来解决上述问题吗?

另外,如果您可以提出一种解决方法,那么它对我也很有帮助。

4

2 回答 2

9

使用像lxml这样的 XML 解析器,正则表达式不适合这个任务。例子:

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 的更多信息:Xpath 教程

于 2012-05-25T11:06:02.663 回答
1

您真的应该使用 xml 解析器。此处的示例http://www.travisglines.com/web-coding/python-xml-parser-tutorial

于 2012-05-25T11:08:59.790 回答