Elisp:无法从正则表达式获得匹配组

时间:2016-01-09 12:23:00

标签: emacs elisp

代码:

(if 
      (string-match-p "\\(.*\\)/www/sites" 
                      "/var/www/lwt/www/sites/all/modules/bundles/bundles.module")
      (match-string-no-properties 1 
                      "/var/www/lwt/www/sites/all/modules/bundles/bundles.module")
      "false"
)

我希望得到" / var / www / lwt",但我得到nil。有什么问题?

1 个答案:

答案 0 :(得分:0)

正如其docstring告诉你的那样:

  

string-match-p是`subr.el'中编译的Lisp函数。

     

(string-match-p REGEXP STRING& optional START)

     

与`string-match'相同,但此函数不会更改匹配数据。

所以你应该使用string-match