找到所有的dotfiles,但不是。或者..正则表达式

时间:2013-03-27 16:10:39

标签: regex emacs elisp

使用dired-omit-file,我有一个正则表达式来查找(和过滤)所有点文件。 问题是,我想保留。和..在文件列表中。

这是我目前的代码:

(add-hook 'dired-mode-hook
  (lambda ()
  (setq dired-omit-files
        (concat dired-omit-files "\\|^\\..+$"))))

如何改进它以输出我想要的内容?

2 个答案:

答案 0 :(得分:1)

这应该符合您的需求:

^([.][^.].*|[^.]+[.].*)$

一个名称以点开头,后跟任何字符,但后跟任何字符,或任何字符,但包含一个点,至少包含一个点。

答案 1 :(得分:1)

我的简短回答是:

^\\.\\w.*$

说明:以'。'开头的字符串然后是WORD,后跟0个或更多个任意符号。 WORD排除'。'性格,并确保你会留住你。'和'..'条目。

如果您想了解有关正则表达式的更多信息,可以阅读emacs手册中的部分:http://emacswiki.org/emacs/RegularExpression

测试正则表达式的另一个非常好的方法是构建到emacs中的正则表达式构建器。 M-x regexp-builder。您可以进入*scratch*缓冲区并记下一些文件名。一旦有了几个,请调用regexp-builder,它将突出显示与正则表达式匹配的所有内容。