Emacs发生模式搜索多个字符串

时间:2014-09-10 09:11:32

标签: regex search text emacs

我有一个包含多种模式的纯文本文件。例如:

  

DEBUG:我是一个调试线   调试:另一个1   错误:这是一个错误   调查:另一个2   正常:EMACS
  调查:另外3个   错误:另一个错误

我们的想法是使用occurrence模式来过滤我想要的模式的文本文件。
例:DEBUG和ERROR。

据我所知,只发生单字符串输入或正则表达式。
如何使用发生模式过滤多个字符串模式?如果有另一个emacs模式来过滤文本中的字符串我也接受。

2 个答案:

答案 0 :(得分:2)

您可以将匹配任一字符串的正则表达式传递给occur。例如,键入 M-x occur RET DEBUG\|ERROR

答案 1 :(得分:1)

如果这是你经常使用的模式,这里有一些elisp(根据legoscia的回答):

(defun myoccur (arg)
  (interactive "sList of space-separated args: ")
  (occur (s-replace " " "\\|" arg))
)

它用OR regexp构造替换空格并发生调用。

ps:s-replace不标准。您需要(require 's)s.el库。 https://github.com/magnars/s.el