当前 NTUSER.DAT 个文件的正则表达式
Regex for Current NTUSER.DAT files
我正在尝试提出一个正则表达式 (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
目前我的 best/simplest 正则表达式是:
\USERS\[A-Z0-9]+\NTUSER.DAT$
当然,除了字母和数字之外,用户名中还可以包含大量有效的 Windows 文件名字符。
我想我需要搜索新文件夹“\”的第一次出现,然后如果它后面没有 NTUSER.DAT,则拒绝它。我没有运气这样做所以任何帮助将不胜感激。
好吧,假设你有一个有效的文件列表,这会起作用:
^\Users\[^\]+?\NTUSER.DAT$
确保忽略大小写。
秘诀是使用 [^\]+?
而不是 .+?
,这样您就可以精确匹配一个文件夹的长度。
我正在尝试提出一个正则表达式 (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
目前我的 best/simplest 正则表达式是:
\USERS\[A-Z0-9]+\NTUSER.DAT$
当然,除了字母和数字之外,用户名中还可以包含大量有效的 Windows 文件名字符。
我想我需要搜索新文件夹“\”的第一次出现,然后如果它后面没有 NTUSER.DAT,则拒绝它。我没有运气这样做所以任何帮助将不胜感激。
好吧,假设你有一个有效的文件列表,这会起作用:
^\Users\[^\]+?\NTUSER.DAT$
确保忽略大小写。
秘诀是使用 [^\]+?
而不是 .+?
,这样您就可以精确匹配一个文件夹的长度。