在php中我可以写
preg_match('/a(.*)b(.*)c/', '00a123b456c00', $result);
并且在结果中,我将123
中的$result[1]
,456
中的$result[2]
和a123b456c
中的$result[0]
。如何捕获与正则表达式匹配的文本,以及它与Emacs Lisp中的不同部分?
答案 0 :(得分:6)
像这样:
(let ((str "00a123b456c00"))
(when (string-match "a\\(.*\\)b\\(.*\\)c" str)
(list (match-string 0 str)
(match-string 1 str)
(match-string 2 str))))