我正在尝试在 1.12 GB 目录中的每个日志文件上运行 unix regEXP,然后将匹配的模式替换为''
. 对一个 4 兆文件的测试运行大约需要 10 分钟,但工作正常。显然,某些东西会损害性能几个数量级。
更新:我注意到在 77 个匹配项的 5.6 MB 文件中搜索 ^(155[0-2]).*$ 需要大约 7 秒。添加 Negative Lookahead Assertion ?!,使 regExp 变为 ^(?!155[0-2]).*$ 导致它至少需要 5-10 分钟;当然,会有成千上万的比赛。
当有很多匹配时,否定的前瞻断言是否应该对性能极为不利?