我正在使用Python分析一些非常大的日志文件。我需要替换日志文件中的每个数字,除了前面有' java :‘的数字(日志文件由java程序生成)。
这意味着,考虑到我们有一句台词:
这是一个伪造的测试行,limit=300进行53轮测试,错误在(Abc.java:417)中,还有更多。
数字300和53应该被替换,但不是417。
我是在行的基础上进行过滤的,应该注意的是,并非所有行都包含java:[number]。
我得到的最接近的是((?<!java:)[0-9]+)
发布于 2013-10-29 10:02:38
可能是怎么回事
((?<!java:)[0-9]+)这是,当然,现在的比赛,
java:
^失败了,但是在_this点,
java:4
^成功,因为事实上,ava:4不是java:。
你只需要再加一个负面的展望,
((?<!java:)(?<![0-9])[0-9]+)
^^^^^^^^^^因此,只考虑“完全”数字。
https://stackoverflow.com/questions/19654808
复制相似问题