在php中我可以写
preg_match('/a(.*)b(.*)c/', '00a123b456c00', $result);
在 $result 中,我将获得
123
中的 $result[1]
, 456
中的 $result[2]
和 a123b456c
中的 $result[0]
。我如何捕获与正则表达式匹配的文本以及它在 Emacs Lisp 中的不同部分?
最佳答案
像这样:
(let ((str "00a123b456c00"))
(when (string-match "a\\(.*\\)b\\(.*\\)c" str)
(list (match-string 0 str)
(match-string 1 str)
(match-string 2 str))))
关于regex - 如何在 Emacs Lisp 中捕获部分字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21513066/