import lxml.etree as ET
from lxml.etree import XMLParser
resultsArray = []
parser = XMLParser(ns_clean=True, recover=True)
tree = ET.parse('foo.html', parser) # See End-Note 2
for elem in tree.findall("//"):
if "These boats" in elem.text:
break
elif "Catalina 320" in elem.text:
resultsArray.append(ET.tostring(elem).strip())
print resultsArray
您可以使用正则表达式来解决这个问题,但根据您所说的问题,regex不是必需的,请参见尾注1。在
您应该使用^{} 来解析这个。。。在
执行此操作将产生:
^{pr2}$尾注:
您的问题的当前版本没有有效的标记,但我假设您有xml或html(这是您在问题的版本1中拥有的内容)。。。我的答案可以处理您编写的文本,但是假设某种类型的结构标记更有意义,因此我使用了以下输入文本,我将其保存为本地foo.html公司名称:
如果您想在编码问题上更小心一点,可以使用
解析HTML时的备用方法lxml.soupparser
作为使用lxml
如果您的问题没有其他上下文,您可以在第一次出现
'These boats'
之前搜索:分组中的第一组将包含Catalina 320匹配项的列表。在
相关问题 更多 >
编程相关推荐