正则表达式 – ‘string-match’在’org-map-entries’中不起作
发布时间:2020-12-14 05:59:44 所属栏目:百科 来源:网络整理
导读:我试图映射文件中的所有组织条目,并收集标题的一部分,如果它与一些正则表达式匹配. 问题是字符串匹配总是返回nil.当我逐步使用edebug时,我可以看到其他一切都正常工作. 在这里,我尽可能地减少了问题: (defun test () (let ((found nil)) (org-map-entries (
我试图映射文件中的所有组织条目,并收集标题的一部分,如果它与一些正则表达式匹配.
问题是字符串匹配总是返回nil.当我逐步使用edebug时,我可以看到其他一切都正常工作. 在这里,我尽可能地减少了问题: (defun test () (let ((found nil)) (org-map-entries (lambda () (let ((heading (org-get-heading t t))) (when (string-match "[ t]*>>>[ t]*([A-Z0-9_-]+)" heading) (push (match-string 1 heading) found)))) nil '("test.org")) found)) test.org中的3行: * >>> one * two * >>> three 字符串匹配工作正常,否则: (string-match "[ t]*>>>[ t]*([A-Z0-9_-]+)" ">>> one") => 0 我试过的一些事情: 我正在使用GNU Emacs 24.3.1(x86_64-unknown-linux-gnu,GTK版本3.4.2) 任何提示将非常感激. 解决方法
难道仅仅是这种情况下,折叠式搜索在某种程度上得到,而代码运行设置为零(因此“A-Z”没有任何更多的匹配小写字符)?如果是这样,用[:alnum:]替换A-Z0-9应该修复它.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |