【问题标题】:Regular Expression for Ignoring Files that Begin and End with a Sequence用于忽略以序列开头和结尾的文件的正则表达式
【发布时间】:2013-09-19 18:52:44
【问题描述】:

我正在使用 Sublime Text 2 并试图过滤掉任何不以字符串序列开头或以字符串序列结尾的文件。

这里有一些我想要的结果的示例:

AAA.123.ZZZ = TRUE
AAA.MY.SPECIAL.FILE.ZZZ = TRUE

ABC.123.ZZZ = FALSE
AAA.123.XYZ = FALSE
/SUBFOLDERNAME = FALSE
FILE NAME WITH WHITESPACE.TXT = FALSE

我正在使用以下表达式,但过滤器获取了许多文件:

^(?!AAA\..*\.ZZZ$)[\w\.-]+$

我想在“ignore_regexes”部分下的 Sublime Text 2 SFTP 配置中包含这个正则表达式。

我意识到这是一个双重否定(使用忽略反向匹配),但我希望能够替换 AAA 和 ZZZ 以便只有以 AAA. 开头并以 .ZZZ 结尾的文件被 Sublime SFTP包含。

【问题讨论】:

  • 那么你真正追求的是一个正则表达式,它匹配所有除了以AAA开头并以.ZZZ结尾的文件?如果您可以确认这一点,我将使用执行此操作的正则表达式来回答:)
  • 是的,没错,@jeff-escalante。
  • 感谢@alan-moore 的编辑。

标签: regex sublimetext2 sftp


【解决方案1】:

我不知道您是否能找到更简单的方法,但以下方法似乎可行:

^(?!AAA\.).*|.*(?<!\.ZZZ)$

如http://rubular.com/r/3yUXh0TOfE所示

或者,如果您需要避免负面的后视,您可以使用:

^(?!AAA\.).*|.*(?!\.ZZZ).{4}$

如http://rubular.com/r/VUd3yAQTzl所示

【讨论】:

  • 谢谢,但它对我不起作用。 Sublime SFTP 可能不支持负面的后视。如果我将 Ruby 版本切换到 1.8.7,它也会在那里失败。
  • 如果我没记错的话,sublime 在后台使用 python ——这可能与它有关?
  • 嗯。我用它的“find”命令检查了 Sublime 2,它按预期工作。我不熟悉 Sublime SFTP。
  • 好的,我现在明白 Sublime SFTP 与 Sublime 2(文本编辑器)无关。对此感到抱歉。
  • 查看更新。我不确定是否有其他方法可以避免负面的后视。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-07
  • 2013-08-04
  • 2014-05-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多