我有一个包含多种模式的纯文本文件。例如:
DEBUG:我是一个调试线 调试:另一个1 错误:这是一个错误 调查:另一个2 正常:EMACS
调查:另外3个 错误:另一个错误
我们的想法是使用occurrence模式来过滤我想要的模式的文本文件。
例:DEBUG和ERROR。
据我所知,只发生单字符串输入或正则表达式。
如何使用发生模式过滤多个字符串模式?如果有另一个emacs模式来过滤文本中的字符串我也接受。
答案 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