【发布时间】:2016-04-22 03:47:01
【问题描述】:
我正在尝试提出一个正则表达式 (PCRE),它在循环浏览文件列表时查找当前 Windows NTUSER.DAT 文件(有效的 NTUSER.DAT 是 Windows 使用的正确路径中的文件)。
我正在尝试排除任何已被用户复制并放置在不同位置(例如桌面上)的 NTUSER.DAT 文件。以下样本数据中,前4个结果有效,后3个无效:
\Users\John Thomas Hamilton\ntuser.dat
\Users\Default\NTUSER.DAT
\Users\Mary Thomas\NTUSER.DAT
\Users\UpdatusUser\NTUSER.DAT
\Users\John Thomas Hamilton\Desktop\My Stuff\Windows\Users\Default\NTUSER.DAT
\Users\John Thomas Hamilton\Desktop\My Stuff\Windows\Users\Student\NTUSER.DAT
\Users\John Thomas Hamilton\Desktop\My Stuff\My stuff to sort\Tech Support Fix it\NTUSER.DAT
目前我拥有的最好/最简单的正则表达式是:
\\USERS\\[A-Z0-9]+\\NTUSER.DAT$
当然,除了字母和数字之外,用户名中还可能存在大量有效的 Windows 文件名字符。
我认为我需要搜索新文件夹“\”的第一次出现,然后如果它后面没有 NTUSER.DAT,则拒绝它。我没有任何运气这样做,所以任何帮助将不胜感激。
【问题讨论】: