我需要快速从HTML文件中提取文本。由于需要快速而不是准确(我有超过1TB的文本),因此我使用以下正则表达式而不是全功能解析器。分析器显示,我的脚本大部分时间都花费在re.sub过程中。有什么好的方法可以加速我的处理过程吗?我可以实现一些部分C,但我想知道是否有帮助,因为时间花费在re.sub函数内,这应该已经高效实现了。
# Remove scripts, styles, tags, entities, and extraneous spaces:
scriptRx = re.compile("<script.*?/script>", re.I)
styleRx = re.compile("<style.*?/style>", re.I)
tagsRx = re.compile("<[!/]?[a-zA-Z-]+[^<>]*>")
entitiesRx = re.compile("&[0-9a-zA-Z]+;")
spacesRx = re.compile("\s{2,}")
....
text = scriptRx.sub(" ", text)
text = styleRx.sub(" ", text)
....
谢谢!