这是我的代码声明
var myStr = require('ssh2')
如果语句有require func调用,我的elisp正则表达式必须返回arg值。
(let ((s "var myStr = require('ssh2')"))
(if (string-match "'require(\\([^']+\\)'" s)
(match-string 1 s)))
然后返回nil? 是什么让我的正则表达成一团糟?某人?
答案 0 :(得分:1)
怎么样?:
"require\(\\(?:'\\(.*\\)'\\)\)"
如果您还没有使用M-x re-builder RET
,那么您将会喜欢它。
以下是我最喜欢的关于非捕获组的一个主题的链接:
What is a non-capturing group? What does a question mark followed by a colon (?:) mean?