Emacs lisp - 在两个括号之间的点下提取数字

时间:2012-07-01 08:27:47

标签: emacs elisp

我是Emacs Lisp的新手,还在学习如何做一些基础知识。

我有一些像[123]这样的文字,我想提取数字123。我已经尝试了几次不同的尝试,但我仍然无法可靠地捕获数字。我得到的最接近的是提取角色]

有人能指出我的方向吗?我最大的困难在于,在我使用search-forwardssearch-backwards来捕获括号的点位置后,了解如何捕获数字。

提前致谢!

1 个答案:

答案 0 :(得分:3)

尝试

(when (re-search-forward "\\[\\([0-9]+\\)\\]" nil t)
  (string-to-number (match-string 1)))

或者,当该点已经在该数字的顶部时,thing-at-point可能更方便:

(string-to-number (thing-at-point 'sexp))