Python html2text正则表达式性能
我已经构建了一个html到纯文本的正则表达式序列。我在多达100个线程中使用它来清理html文件。我想要得到给定html文件的所有可见文本信息Python html2text正则表达式性能,python,regex,Python,Regex,我已经构建了一个html到纯文本的正则表达式序列。我在多达100个线程中使用它来清理html文件。我想要得到给定html文件的所有可见文本信息 self.content = re.sub(r'<!--(.|\n)*?-->', '', self.content) self.content = re.sub(r'<script (.|\n)*?>(.|\n)*?</script>', '', self.content) self.cont
self.content = re.sub(r'<!--(.|\n)*?-->', '', self.content)
self.content = re.sub(r'<script (.|\n)*?>(.|\n)*?</script>', '', self.content)
self.content = re.sub(r'<style (.|\n)*?>(.|\n)*?</style>', '', self.content)
self.content = re.sub(r'(<[^>]*?>+)', ' ', self.content)
self.content=re.sub(r'','',self.content)
self.content=re.sub(r'(.|\n)*?','',self.content)
self.content=re.sub(r'(.|\n)*?','',self.content)
self.content=re.sub(r'(]*?>+)','',self.content)
我不是一个真正的正则表达式专家。也许我可以改进这个正则表达式的性能
<>我不想使用漂亮的SOAP或Django或HTML2TeXC++分布。它们在测试后比我的正则表达式慢。我只需要一个空格分隔的字符串,而不是一棵树或链接等
谢谢你的帮助。我知道在stackoverflow上有一些非常聪明的人使用像BeautifulSoup或HTMLIB这样的工具,不要试图比世界其他地方更聪明。使用正则表达式解析HTML是最糟糕的事情!您的正则表达式总是会有一个或多个Html文件失败。有一个共同的信条,即必须使用正则表达式工具处理Html和XML文本。你必须考虑到,这种治疗的风险是真实存在的,如果为了太多的雄心勃勃的目标而实施,就不可能控制。HTML和XML是非常复杂的标记语言,无法由正则表达式进行分析 然而,我并不完全赞同这个共同信条。在我看来,如果在合理地认为合法使用regex的条件下使用regex并不是一个非常荒谬的方法,因为风险似乎最小
- 我相信正则表达式可以用于有限和简单地处理HTML或XML文本。我在Stacof.com上了解到,用正则表达式解析HTML/XML是不可行的。但是当解析(提取标记树的全部或部分)不包含在处理中时,为什么要如此虔诚地拒绝正则表达式(我指的是引用的链接)
- 在我看来,一个好的安全步骤是限制使用regex工具的代码仅在来自固定来源的文本上使用,而不是试图使其分析各种HTM或XML文本
re.sub('<!--.*?-->', '', self.content, flags=re.DOTALL)
re.sub(“”,”,self.content,flags=re.DOTALL)
及
re.sub(“”,”,self.content,flags=re.DOTALL)
那
呢?如果结束符
在Javascript字符串中,该怎么办?人们不在html上使用正则表达式是有原因的。我必须链接到这个答案:
re.sub('<(script|style) .*?\\1>', '', self.content, flags=re.DOTALL)