Javascript 如何用{{}解析字符串
我有一根绳子Javascript 如何用{{}解析字符串,javascript,regex,Javascript,Regex,我有一根绳子 var str = "{{a}} {{b}} aaa"; 我想用{{}拆分字符串。所以,我的预期结果是 array = ["a", "b"] 更新: 作为另一种情况,给定 var str1 = "{{a {{b}}}}", str2 = "{{{a}}}"; 结果应该是 var arr1 = ["b"], arr2 = ["a"]; 一种选择是将它们全部删除,然后提取内容 var单位=[ “{{a}{{b}}aaa”, “{{a{{b}}}}”, “{{{
var str = "{{a}} {{b}} aaa";
我想用{{}
拆分字符串。所以,我的预期结果是
array = ["a", "b"]
更新:
作为另一种情况,给定
var str1 = "{{a {{b}}}}",
str2 = "{{{a}}}";
结果应该是
var arr1 = ["b"],
arr2 = ["a"];
一种选择是将它们全部删除,然后提取内容
var单位=[
“{{a}{{b}}aaa”,
“{{a{{b}}}}”,
“{{{a}}}”
];
单位。forEach(函数(str){
var matched=str.match(/{([^}]*[^{]*}}/g).map(函数){
返回s.substring(2,s.length-2)
});
console.log(str,'=');
控制台日志(匹配);
});代码>如前所述,可能没有覆盖所有场景的最佳方法,但可以使用拆分,如:
var str1 = "{{a}} {{b}} aaa", str2 = "{{a {{b}}}}", str3 = "{{{a}}};"
var splits = str1.split(/[^{][^.][^}]|[{}]/).filter(Boolean);
console.log(splits);
结果:
Array [ "a", "b" ]
Array [ "b" ]
Array [ "a" ]
示例:
那么空格和aaa
到哪里去了?你想如何处理像{a{b}}}}
和{{a}}}}
这样的情况?在@ChrisHunt案例中,我的结果将是[“a{b}”,“a}]
同样,你想如何处理像{ab}c}
?@VuLeAnh你有什么标准可以让{{{a}}}
转到[{a}]
但是{a}}{{b}}
转到['a',b']
?“这里有一些模棱两可的地方。”“是的。完成!酷。给你。也请添加正则表达式的解释。请检查“{{a{{b}}{{c}}}”
@PranavCBalan Blarg。取决于它应该输出什么,可能并不完美。@Tushar:我认为他需要a{{{b}{{c}}
,正则表达式不是解决这个问题的正确方法。。。。