【发布时间】:2012-07-02 02:14:49
【问题描述】:
我对 Emacs Lisp 还很陌生,还在学习如何做一些基础知识。
我有一些像[123] 这样的文本,我想提取数字123。我做了一些不同的尝试,但我似乎仍然无法可靠地捕捉到这个数字。我得到的最接近的是提取字符]。
谁能给我指个方向?我最大的困难是了解如何在使用 search-forwards 和 search-backwards 捕获括号的点位置后捕获数字。
提前致谢!
【问题讨论】:
我对 Emacs Lisp 还很陌生,还在学习如何做一些基础知识。
我有一些像[123] 这样的文本,我想提取数字123。我做了一些不同的尝试,但我似乎仍然无法可靠地捕捉到这个数字。我得到的最接近的是提取字符]。
谁能给我指个方向?我最大的困难是了解如何在使用 search-forwards 和 search-backwards 捕获括号的点位置后捕获数字。
提前致谢!
【问题讨论】:
试试
(when (re-search-forward "\\[\\([0-9]+\\)\\]" nil t)
(string-to-number (match-string 1)))
或者,当点已经在数字的顶部时,thing-at-point 可能更方便:
(string-to-number (thing-at-point 'sexp))
【讨论】: