在Node.js中通过正则表达式拆分数组

时间:2016-07-29 17:00:27

标签: javascript regex node.js string split

我使用https://github.com/joyent/node-strsplit分割从文件中提取的文本。我需要在双花括号之间提取数据。以下是文件中的一些示例文本。

我住在名为{{name}}的{{地址||当前财产所有者的地址}}下,我的身份(nic)将是{{nic || National Identity Number}})< /强>

在这里,我想在双开口和闭合花括号内提取文本。例如,终极数组应该是, [&#39;地址||当前财产所有者的地址&#39;,&#39; name&#39;,&#39; nic ||国家身份编号&#39;]

为此,我尝试使用以下正则表达式模式

/{{(.*?)}}/
/{{([^}]*)}}/
/\{{([^}]+)\}}/

以下是我的代码。

var pattern = '/{{(.*?)}}/';
var arr=strsplit(sample_text, pattern);

请帮我确定最终方法。干杯!!

更新:

var results = [], re = /{{([^}]+)}}/g, text;

  while(item = re.exec(text)) {
       results.push(item[1]);
  }

1 个答案:

答案 0 :(得分:1)

您可以使用match()执行此操作并删除括号:

&#13;
&#13;
var str = "I am living in {{address||address of current property owner}} under the name {{name}} and my id (nic) will be {{nic||National Identity Number}})";
var result = str.match(/{{.*?}}/g).map(function(x){return x.slice(2,-2)});
console.log(result)
&#13;
&#13;
&#13;