Emacs 口齿不清 : get sub-matches from a regexp match

标签 emacs elisp

我在 elisp 代码的某处有一个字符串变量,并且想使用带有分组的正则表达式将它的某些部分提取到其他变量中。这是你可以用任何语言用 1-2 行写的东西:
my ($user, $domain) = $email =~ m/^(.+)@(.+)$/;
我如何在 elisp 中编写相同的内容?

最佳答案

(save-match-data ; is usually a good idea
  (and (string-match "\\`\\([^@]+\\)@\\([^@]+\\)\\'" email)
       (setq user (match-string 1 email)
             domain (match-string 2 email) ) ))

GNU Emacs Lisp Reference Manual是你的 friend 。另见 http://emacswiki.org/emacs/ElispCookbook

关于Emacs 口齿不清 : get sub-matches from a regexp match,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16243159/

相关文章:

Emacs -- 按修改日期对目录/文件列表进行排序

emacs - 如何防止Emacs Dired将帧拆分为两个以上的窗口?

windows - Emacs + 史莱姆 + SBCL ( Windows )

emacs - 如何在 Emacs evil-mode 下将 j 和 k 映射到 gj 和 gk?

emacs - 通过Emacs,如何将两行合二为一?

pdf - elisp:生成 LaTeX PDF 文档

emacs - 如何在Mac上通过ssh发送元 key ?

emacs - 评估错误 - 错误类型参数 : listp

emacs - 在自动配对中包含其他字符。

pointers - 如何取消引用 emacs lisp 变量?