点下划线文件的正则表达式(._file)

时间:2016-02-04 09:18:24

标签: regex

我是regex的新手,我正在尝试使用它来排除点下划线文件,由OSX用户留在我的服务器上。

我到目前为止所有的一切都是:

^\._

我不确定这是否正确,这是第一次需要正确的事情。如果有人能够解释上述情况是否正确,或者情况不是这样,请解释为什么不是,哪些是正确的。

目前我正在排除tmpDS_Store个文件,没有正则表达式,但我想排除._个文件。例如,._example.txt

提前致谢。

2 个答案:

答案 0 :(得分:0)

请注意,正则表达式开头的^具有特殊含义 - 您希望在输入字符串的开头匹配。

E.g。 正则表达式:^John将与John Doe is dead匹配,但与Doe John is dead不匹配,因为在之前的输入文本中,John启动序列

但您可以在不同目的中使用^字符来排除模式。区别在于将其作为()[]括号的第一个字符。

解决您的问题:[^\._].

阐释:

[^\._]匹配下面列表中不存在的单个字符

\.字面匹配字符.

_文字_

.匹配任何字符(换行符除外)

以下是您可以用来测试常规表达的网站。 https://regex101.com/

答案 1 :(得分:-1)

根据您的输入数据,您可以在没有正则表达式的情况下执行此操作 - 检查每个文件名中是否存在字符串._(循环),如果存在,则删除该文件。

var fileName = '._abc.blah';
if (fileName.indexOf('._') != -1) {
  console.log('remove this one');
}