从文本文件中提取正则表达式值的脚本

时间:2015-02-27 15:37:39

标签: regex scripting

我有一个文本文件,我从蜜罐中导出,列出上传到它的任何文件以开发AV签名。为了开发签名,它们必须采用特定格式:

SizeofFile:MD5ofFile:NameofFile

我尝试编写从导出文件中提取这3个值的脚本,以便在新文档中正确格式化这些签名。我的示例导出数据如下所示:

  

文件
  [Tab]名称:file.extension的名称   [Tab]尺寸:文件大小
  [Tab] MD5:MD5字符串
  [Tab]信息:无用的信息
  [Tab]详细信息:无用信息
  [Tab]注释:无用的信息
  [换行]
  文件
  [Tab]名称:file.extension的名称   [Tab]尺寸:文件大小
  [Tab] MD5:MD5字符串
  [Tab]信息:无用的信息
  [Tab]详细信息:无用信息
  [Tab]注释:无用的信息

有没有办法为每个以File开头的文本块提取名称,大小和哈希的脚本,并将格式化的字符串转储到新文档中?我可以运行批处理脚本,Office中的宏或Notepad ++中的任何内容。

1 个答案:

答案 0 :(得分:0)

因此,根据您的评论,我提出了提取名称,大小和MD5的内容。

Name: (?<filename>\w+\.\w{3})\t Size: (?<size>\d+)\t MD5: (?<md5>[\w\d]+)

从这里开始,每个字段将被放置在名为的组中:&#34; filename&#34;,&#34; size&#34;和&#34; md5&#34;。

Python示例将是:

import re
 reobj = re.compile(r"Name: (?P<filename>\w+\.\w{3})\t Size: (?P<size>\d+)\t MD5: (?P<md5>[\w\d]+)", re.IGNORECASE | re.MULTILINE)
 match = reobj.search(subject)
 if match:
     result = match.group("groupname")
 else:
     result = ""