如何从grok/regex路径获取应用程序名称?
示例路径:
C:TempLogsMyMainApp.SubApp.App.exe.010519.201123.9320.log
预期输出:
MyMainApp.SubApp.App
注意:
- 应用程序名称总是以。exe 结尾
- 路径在目录 方面可能有或多或少的深度测试:
^(.+?)/([w]+.exe)$
与C:TempLogsMyMainApp.SubApp.App.exe.010519.201123.9320.log
也尝试了几个类似的选项
对于regex,这应该可以工作(可能需要针对您的特定用例/环境进行一些调整)。
^.*\([^\]+).exe.*
您可以尽可能少地重复以点分隔的单词字符,直到最后一个反斜杠后面的.exe
。
在捕获组1中
^.*\(w+(?:.w+)*?).exe[^\rn]*$
模式匹配:
^.*\
匹配直到最后一次出现
(
捕获组w+(?:.w+)*?
匹配1+字字符,并尽可能重复.
和1+字字符的匹配
)
close group 1.exe[^\rn]*$
匹配.exe
后面除以外的任何字符,直到字符串
结束
Regex演示