如何正则表达式搜索标题以创建自定义议程?

How to regex search heading to create custom agenda?

我正在尝试获得一个自定义议程设置,它显示以 cookie 开头的顶级标题 ([/])

(setq org-agenda-custom-commands
      '(("p" "Custom daily agenda"
         ((search "\[[[:digit:]]*/[[:digit:]]*\]" ((org-agenda-overriding-header "Projects"))))
         ((org-agenda-files '("~/Dropbox/org/todo.org"))))))

todo.org 包含:

* [/] Project A
* [1/2] Project B
** DONE task A
** TODO task B

议程缓冲区显示为空。它应该显示

Projects
todo: [/] Project A
todo: [1/2] Project B

由于您使用正则表达式进行搜索,因此您的搜索字符串必须括在花括号中(您可以在函数 org-search-view 的帮助中找到这些字符串语法的详细信息)。您还应该在正则表达式字符串中使用两个双反斜杠而不是一个来引用文字方括号:

(setq org-agenda-custom-commands
      '(("p" "Custom daily agenda"
         ((search "{\[[[:digit:]]*/[[:digit:]]*\]}" ((org-agenda-overriding-header "Projects"))))
         ((org-agenda-files '("~/Dropbox/org/todo.org"))))))

进行此更改后,按 p 会导致 *Org Agenda* 缓冲区显示:

Projects
  todo:       [/] Project A
  todo:       [1/2] Project B