假设我有这样的文本/字符串
This is something before any tag, today's date is 09-06-2012 blah blah
<firsttag> content of first tag </firsttag> <sentence> This is the
first sentence in my paragraph that needs to be <bold> displayed.
</bold> </sentence> <secondtag> blah blah blah <italics> another blah
</italics></secondtag> <sentence> This is the second sentence in my
paragraph that needs to be displayed and it has some weird contents
like \n\n\n and inbetween reference tags like <link> http://google.com
</link></sentence> <thirdtag>blah blah </thirdtag><sentence>Tennis is
a great sport, I'm really sad that <link
synthetic="True"><target>Roger Federer </link></target>Roger Federer
lost yesterday.</sentence>
输出应该是这样的
这是我的段落中需要显示的第一句话。这是我的段落中需要显示的第二句,它有一些奇怪的内容,比如参考标签之间,比如网球是一项很棒的运动,我真的很难过罗杰·费德勒昨天输了。
我的正则表达式解析后的输出应该只有我们里面的内容和标签。所有标签、奇怪的 \n\n 字符、里面的所有垃圾内容都需要删除,比如“Roger Federer”,因为链接只是指向 Roger Federer 的页面,因为这是一个 Freebase-wiki (WEX)我正在处理的数据集。一个简单的python re 代码来帮助我解决这个问题将非常有用。我正在尝试的代码是这样的。
for line in fileinput.input():
p = re.sub('<[^>]*>', '', line)
p = re.sub('\n','',p)
print p
由于我正在处理大型文件,因此如果您可以帮助我使用 map-reduce (hadoop) 代码,那也会非常有帮助。提前致谢 :)