我有这样的文本:
<
文本>
一些文本efdg
一些文本zi dong
<
/文本>
我正在编写一个正则表达式来提取:
一些文本efdg
一些文本zi dong
因为它是多行的,所以我使用<
文本>
\n+(^+?)\n+<
文本>
,但是它不工作。如何做到这一点?在
我试过用r'^.*但似乎没用。在
代码: 输入文件是:
<
文档>
<
id1>
123<
/id1>
<
文本>
abc公司
定义
<
/text>
<
/doc>
<
文档>
<
id1>
1234<
/id1>
^{cd2>
定义
<
/text>
<
/doc>
for line in f.read().split('</doc>\n'):
tag = re.findall(r'<id1>\s*(.+)\s*</id1>',line)
print tag[0]
texttag = re.findall(r'<text>\s*(.+)\s*</text>',line,re.MULTILINE)
print texttag
您可以通过beauthulsoup解析器实现这一点。在
您可以在
markers
之间获取text
,然后split
来获得结果。在相关问题 更多 >
编程相关推荐