在Python中使用多个正则表达式或更大的正则表达式替换

Cos*_* SD 6 python regex

我最近才切换到Python,我有兴趣通过删除一些特定的标签或其他一些字符串模式来清理大量的网页(大约12k)(但可以被视为同样容易的文本文件).为此,我在Python中使用re.sub(..)函数.

我的问题是,如果更好(从效率的角度来看)创建一个匹配更多模式的大型正则表达式,或者使用更小更简单的正则表达式多次调用该函数.

举例来说,使用类似的东西更好

 re.sub(r"<[^<>]*>", content)
 re.sub(r"some_other_pattern", content)
Run Code Online (Sandbox Code Playgroud)

要么

 re.sub(r"<[^<>]*>|some_other_pattern",content)
Run Code Online (Sandbox Code Playgroud)

当然,为了举例说明以前的模式非常简单,我没有在这里编译它们,但在我的现实场景中,我会.

LE:问题与文件的HTML性质无关,而是与处理多个正则表达式模式时Python的行为有关.

谢谢!

Tad*_*dgh 3

把事情简单化。

我想说,使用较小的正则表达式来解析这些东西会更安全。至少这样,如果它表现异常,您不必深入挖掘大型正则表达式的哪个特定部分表现异常。如果您对所做的替换有良好的记录,那么一旦出现问题,确定问题的根源将是微不足道的。

你不想遇到这个