regex - 崩溃计划和正则表达式 - 根据文件名排除文件

标签 regex

Crashplan 允许使用正则表达式作为排除条件(没有包含条件功能)从备份集中排除文件。对于我的特定用例,我有一个包含这些文件的文件夹:

C_VOL-b001.spf
C_VOL-b001-i001.md5
C_VOL-b001-i001.spi
E_VOL-b001.spf
E_VOL-b001-i001.md5
E_VOL-b001-i001.spi
F_VOL-b001.spf
F_VOL-b001-i001.md5
F_VOL-b001-i001.spi
G_VOL-b001.spf
G_VOL-b001-i001.md5
G_VOL-b001-i001.spi

并且我想排除任何不以 C_VOL 文件名开头的文件。这些是来自另一个备份软件 Shadowprotect 的备份文件,但我只想包含 C 卷文件并排除其他文件。增量文件将继续使用 -i001、-i002 等命名模式添加到每个卷集中。

到目前为止,我已经尝试过以下操作:

^E_VOL
^E_VOL.*

以及其他一些变体,但没有成功。我不确定 Crashplan 是否只允许根据文件类型扩展名进行选择(他们的正则表达式示例在这里 http://goo.gl/qDAEcR )。他们确实提到“请注意,CrashPlan 将所有文件分隔符视为正斜杠 (/)。”

我不确定 Crashplan 是否识别所有正则表达式。如果有帮助的话,早在 2008 年,我就通过电子邮件向他们的技术支持发送了一个正则表达式问题,Crashplan 的创始人之一 Matt Dornquast 帮助我解决了以下正则表达式:

我试图排除任何符合以下条件的文件:

1.       have an extension of .spf, or
2.       has a file name of the type, XXXXXX-cd.spi
3.       But also allow for backup of files with the name type of, xxxxx.spi

他的正则表达式运行得很好:

(?i).+(?:\-cd\.spi|\.spf)$

我再次联系了他们的技术支持,但他们表示将不再帮助解决正则表达式问题。

最佳答案

您似乎可以使用以下正则表达式:

.*/C_VOL.*

我根据 this example (link) 创建了这个它们出现在您问题中链接的网站上。请让我们知道它是否有效:)

关于regex - 崩溃计划和正则表达式 - 根据文件名排除文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22417271/

相关文章:

javascript - 如何组合正则表达式

regex - Perl正则表达式否定

用于括号精确匹配的 Python RegEx

javascript - 在 RegEx 中转义 MS Word 样式引号

javascript - 从 HTML 节点之间提取特定文本的优雅方式?

regex - 尝试检查输入文本框的时间

Javascript 替换在应该起作用的时候却不起作用

java - Java string.replaceAll() 中货币的正则表达式(不是 php,不是 javascript)

javascript - 适用于 -20 到 150 之间任何整数(最多 2 位小数)的正则表达式模式,例如 36.50

regex - 打印文件中pattern1和pattern2之间的数据,而不打印pattern2