lastIndexOf 在 elisp 中使用正则表达式
lastIndexOf using regex in elisp
(last-index-of needle str &opt case-sens)
例如,
(last-index-of "car" "carbikecar'")
必须return
7
如何在 elisp 中做到这一点?
为此,您可以在循环中使用 string-match
来重复搜索输入字符串,返回找到的任何最后匹配项的索引:
(defun last-index-of (regex str &optional ignore-case)
(let ((start 0)
(case-fold-search ignore-case)
idx)
(while (string-match regex str start)
(setq idx (match-beginning 0))
(setq start (match-end 0)))
idx))
试试你的例子:
(last-index-of "car" "carbikecar'")
7
此搜索忽略大小写:
(last-index-of "ar" "carbikecaR" t)
8
两个正则表达式搜索,第一个忽略大小写:
(last-index-of "arb?" "carbikecaR" t)
8
(last-index-of "arb?" "carbikecaR")
1
(last-index-of needle str &opt case-sens)
例如,
(last-index-of "car" "carbikecar'")
必须return
7
如何在 elisp 中做到这一点?
为此,您可以在循环中使用 string-match
来重复搜索输入字符串,返回找到的任何最后匹配项的索引:
(defun last-index-of (regex str &optional ignore-case)
(let ((start 0)
(case-fold-search ignore-case)
idx)
(while (string-match regex str start)
(setq idx (match-beginning 0))
(setq start (match-end 0)))
idx))
试试你的例子:
(last-index-of "car" "carbikecar'")
7
此搜索忽略大小写:
(last-index-of "ar" "carbikecaR" t)
8
两个正则表达式搜索,第一个忽略大小写:
(last-index-of "arb?" "carbikecaR" t)
8
(last-index-of "arb?" "carbikecaR")
1