elisp中的匹配字符串没有返回匹配字符串匹配的字符串
问题描述:
我有一个问题,我无法在字符串匹配后得到匹配字符串。我认为字符串匹配的作品,至少它返回非零,但我得到一个错误,当我尝试获取匹配字符串。我应该怎么做?elisp中的匹配字符串没有返回匹配字符串匹配的字符串
失败函数:
(defun small-test()
(string-match "\\([0-9]+\\)-v\\([0-9]+\\).txt" "2011-v9.txt")
(message (match-string 1))
)
答
由CH˚F匹配字符串,我建议你读的底线:
(匹配字符串NUM &可选的字符串)
返回最后一个 搜索匹配的文本字符串。 NUM指定在最后一个 正则表达式中加括号的表达式为 。如果NUM个对 不匹配,或者存在小于 个NUM对,则值为零。零表示整个文字 匹配整个正则表达式或整个 字符串。 如果上一次搜索是通过 STRING上的“字符串匹配”发出的,则应该给出STRING。
答
(defun small-test()
(setq matched (string-match"\\([0-9]+\\)-v\\([0-9]+\\).txt" "2011-v9.txt"))
(message (match-string 1 "2011-v9.txt"))
)
应该工作
+0
这真的没有任何意义。为什么要分配“匹配”? – PascalVKooten 2016-01-17 00:27:30
谢谢,我想我读透,显然我没有。 – ygram 2011-03-02 09:33:09