6

elisp コードのどこかに文字列変数があり、正規表現とグループ化を使用して、その一部を他の変数に抽出したいと考えています。これは、任意の言語で 1 ~ 2 行で記述できるものです。

my ($user, $domain) = $email =~ m/^(.+)@(.+)$/;

elispで同じことを書くにはどうすればよいですか?

4

1 に答える 1

11
(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 リファレンス マニュアルはあなたの味方です。http://emacswiki.org/emacs/ElispCookbookも参照してください。

于 2013-04-26T19:00:57.723 に答える