究竟是什么标题要求.在解释我的问题时,我会提供一些例子.
测试字符串:
var test = "#foo# #foo# bar #foo#";
Run Code Online (Sandbox Code Playgroud)
说,我想在#(所有foo但不是bar)之间提取所有文本.
var matches = test.match(/#(.*?)#/g);
Run Code Online (Sandbox Code Playgroud)
使用.match如上面,它就会储存所有的比赛,但它会简单地扔掉捕获组看来.
var matches2 = /#(.*?)#/g.exec(test);
Run Code Online (Sandbox Code Playgroud)
该.exec方法显然只返回0数组位置中第一个结果的匹配字符串,以及该位置中该匹配的唯一捕获组1.
我已经筋疲力尽,谷歌和MDN正在寻找无济于事的答案.
所以,我的问题是,有没有更好的方法来存储匹配的捕获组,而不是通过它来.exec调用array.push以存储捕获的组?
我上面测试的预期数组应该是:
[0] => (string) foo
[1] => (string) foo
[2] => (string) foo
Run Code Online (Sandbox Code Playgroud)
如果您发布JSFiddle,则接受纯JS和jQuery答案,额外的cookie console.log.=]
我正在试图找出如何获取我正在构建的Atom包以在安装和编辑器启动时切换.我不确定将什么放入激活功能.在您安装我的软件包时,必须在命令面板中切换.有没有办法避免这种情况,只需让Atom在安装/启用时自动切换包