记事本++和正则表达式。返回字符串

Notepad ++ and regex. Returning string

我有下面的日志文件。我需要 return [Jon.Test] 正下方的行我需要将此行导出到单独的文档中。

这是我到目前为止的声明。它 return 不需要额外的行。

(\ Memory usage for process \[Jon.Test].*)(VM Size)

2015-03-24 21:02:11,799 [6152 process; 1 thread] INFO  - Memory usage for process [Jon.Test]
2015-03-24 21:02:11,799 [6152 process; 1 thread] INFO  - 	Mem Usage:       537276 KB
2015-03-24 21:02:11,814 [6152 process; 1 thread] INFO  - 	VM Size:         553452 KB
2015-03-24 21:02:11,814 [6152 process; 1 thread] INFO  - 	Non-Paged Pool:  181.8164 KB
2015-03-24 21:02:11,799 [6152 process; 1 thread] INFO  - Memory usage for process [Jon.Test]
2015-03-24 21:02:11,799 [6152 process; 1 thread] INFO  - 	Mem Usage:       535376 KB
2015-03-24 21:02:11,814 [6152 process; 1 thread] INFO  - 	VM Size:         553452 KB
2015-03-24 21:02:11,799 [6152 process; 1 thread] INFO  - Memory usage for process [Jon.Test]
2015-03-24 21:02:11,799 [6152 process; 1 thread] INFO  - 	Mem Usage:       533576 KB
2015-03-24 21:02:11,814 [6152 process; 1 thread] INFO  - 	VM Size:         553452 KB
2015-03-24 21:02:11,814 [6152 process; 1 thread] INFO  - 	Non-Paged Pool:  181.8164 KB
2015-03-24 21:02:11,799 [6152 process; 1 thread] INFO  - Memory usage for process [Jon.Test]
2015-03-24 21:02:11,799 [6152 process; 1 thread] INFO  - 	Mem Usage:       577376 KB
2015-03-24 21:02:11,814 [6152 process; 1 thread] INFO  - 	VM Size:         553452 KB
2015-03-24 21:02:11,814 [6152 process; 1 thread] INFO  - 	Non-Paged Pool:  181.8164 KB

在不完全查看日志文件的情况下,我尝试的第一件事是将 * 更改为 + 以使其成为非贪婪的,然后看看会发生什么。如果它没有解决它,并且其他人没有击败我,我会再看看。

*匹配尽可能多的字符(即贪心)。 + 只匹配匹配所需的数量(即非贪婪)。

编辑:所以我将日志文件移交给了正则表达式测试网站。 google'd for regex calculator

这是我想出的:

\[Jon\.Test\](\s+.+)

哪个returns:

[Jon.Test] 2015-03-24 21:02:11,799 [6152 process; 1 thread] INFO - Mem Usage: 537276 KB
[Jon.Test] 2015-03-24 21:02:11,799 [6152 process; 1 thread] INFO - Mem Usage: 535376 KB
[Jon.Test] 2015-03-24 21:02:11,799 [6152 process; 1 thread] INFO - Mem Usage: 533576 KB

等希望有所帮助。

编辑:另外,如果您需要更多关于正则表达式的解释,链接页面底部有有用的信息。此外,如果您想要更多行,请在末尾添加 {2} 等...