我最近切换到 Python,我有兴趣通过删除一些特定的标签或一些其他字符串来清理大量的网页(大约 12k)(但可以被认为是简单的文本文件)模式。为此,我在 Python 中使用了 re.sub(..) 函数。
我的问题是(从效率的角度来看)是创建一个匹配我的更多模式的大正则表达式更好,还是使用更小更简单的正则表达式多次调用该函数更好。
举例来说,使用类似的东西是否更好
re.sub(r"<[^<>]*>", content)
re.sub(r"some_other_pattern", content)
或
re.sub(r"<[^<>]*>|some_other_pattern",content)
当然,为了举例说明,前面的模式非常简单,我没有在这里编译它们,但在我的真实场景中我会。
LE:问题与文件的 HTML 性质无关,而是与 Python 在处理多个正则表达式模式时的行为有关。
谢谢!
最佳答案
保持简单。
我会说使用较小的正则表达式来解析这些东西会更安全。至少这样,如果它表现异常,您不必去挖掘以查找大量 Regex 的哪个特定部分表现异常。如果您对所做的替换有良好的记录,那么如果出现问题,确定问题的根源将是微不足道的。
您不想遇到 this
关于python - 在 Python 中使用多个正则表达式或更大的正则表达式进行替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12557222/