繁体   English   中英

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

[英]Split array by regular expression in Node.js

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

我目前居住在{{address ||当前财产所有者的地址}}下,名称为{{name}},我的身份证号(nic)为{{nic ||国民身份证号}})

在这里,我要提取双大括号内的文本。 例如,最终数组应为[''|当前财产所有者的地址','名称','nic ||国家身份证号码']

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

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

以下将是我的代码。

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

请帮助我完成此方法。 干杯!

更新:

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

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

您可以使用match()并去除括号:

 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) 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM