2015-09-04 295 views
1

我有一些问题用正则表达式过滤。正则表达式包含字符串,不包含另一个

我有多个条目像日志:

2015-09-03 03:35:05,074 WARN [repo.sync.SyncTrackerComponent] missing event: CREATE 

2015-09-04 03:35:05,074 ERROR [repo.sync.SyncTrackerComponent] Unable to pull 2015-09-04 03:35:05,074 WARN [repo.sync.SyncTrackerComponent] missing event: CREATE

2015-09-04 11:21:58,638 ERROR [repo.jscript.ScriptLogger] Cost center review Id 473805 
2015-09-04 14:02:16,917 ERROR [repo.jscript.ScriptLogger] Tarea actual - GBS Review 

我使用正规表示法在记事本++由expeficic天来过滤误差(即误差今天)2015-09-04.*ERROR将输出:

2015-09-04 03:35:05,074 ERROR [repo.sync.SyncTrackerComponent] Unable to pull 
2015-09-04 11:21:58,638 ERROR [repo.jscript.ScriptLogger] Cost center review Id 473805 
2015-09-04 14:02:16,917 ERROR [repo.jscript.ScriptLogger] Tarea actual - GBS Review 

我想过滤fo R实施例,这并不含有一定description.Im试图用2015-09-04.*ERROR.*(?!.*Unable to pull)愿意有这样的输出错误:

2015-09-04 11:21:58,638 ERROR [repo.jscript.ScriptLogger] Cost center review Id 473805 
2015-09-04 14:02:16,917 ERROR [repo.jscript.ScriptLogger] Tarea actual - GBS Review 

但它不work.What单曲错误的负查找?

任何帮助将不胜感激!

+1

尝试'^(?!*无法拉)2015年9月4日,* ERROR。*'。 –

回答

0

问题(@stribizhev在评论中暗示)是在ERROR之后匹配.*,这意味着它在您的负面预测能够(不)匹配任何内容之前匹配所有内容。

2015-09-04.*ERROR.*(?!.*Unable to pull) 
       /|\ 
       | 
       problem 

如果您将负向预测放在匹配的其余部分之前,它应该可以工作。

2015-09-04.*ERROR(?!.*Unable to pull).* 

See Demo

+0

终于为我工作的实际正则表达式是^(?!。*无法拉动*)2015-09-04。*错误。* 谢谢 –

相关问题