创建一个正则表达式以提取“新进程名称”的两个部分作为file_path和file_name。 请注意,在此示例中:
Process Information:
New Process ID: 0x8609
New Process Name: C:\Windows\System32\example_c.exe
New Process Name: D:\Intel\Logs\User\Tom Warner\logs.txt
但是,其他日志样本在任何字母驱动器内可以具有任意数量的文件路径。在Windows中,目录和文件名允许包含空格,并可以用引号引起来。确保您的正则表达式可以捕获任何这些情况。
这是我想出的表达方式。我可以匹配file_path,但是我没有与file_name匹配的运气。应该使用什么表达式来匹配file_name和file_path
New Process Name:\t+(?<file_path>\w:*[\\\S|*\S]?.*$).*?(?<file_name>[\w-]+?(?=\.))
答案 0 :(得分:0)
New Process Name:\t+(?<file_path>\w:.*?)(?<file_name>[^\\]+)$
(?<file_path>\w:.*?
创建组名file_path
\w:
与驱动器号匹配。 Windows驱动器路径通常是字母
.*?
匹配驱动器号后的所有内容
(?<file_name>[^\\]+)$
创建组名file_name [^\\]+
的含义不等于\
,这允许正则表达式接受所有信息,直到看到最后一个\
>