记事本++和正则表达式。返回字符串
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}
等...
我有下面的日志文件。我需要 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}
等...