Javascript 用js检测字符串中的绑定表达式
我有一个字符串,它可能包含任何html元素、句子、数字等,存储在变量x中,现在我想找到绑定表达式{},它的内部元素非常有效。我有一个程序,大部分工作正常,但有时失败,所以我正在寻找非常有效的方法来做到这一点Javascript 用js检测字符串中的绑定表达式,javascript,Javascript,我有一个字符串,它可能包含任何html元素、句子、数字等,存储在变量x中,现在我想找到绑定表达式{},它的内部元素非常有效。我有一个程序,大部分工作正常,但有时失败,所以我正在寻找非常有效的方法来做到这一点 function call(x){ var p = 0, d = [], g = x.replace(/\s/g, ''); for(var i = p ; i< g.length; i++){ x = x.substr(p,
function call(x){
var p = 0,
d = [],
g = x.replace(/\s/g, '');
for(var i = p ; i< g.length; i++){
x = x.substr(p,x.length - p);
f1 = x.indexOf('}*');
f2 = x.indexOf('*{');
if(f1 == -1 || f2 == -1){
break;
}
c = x.substr(f2+1,f1-f2);
d.push(c.replace(/}|{/g,''))
var p = f2+(c.length+2);
}
return d;
}
var x = `<div>
<span class="*{race}*">
*{name}*
</span>
</div>`;
console.log(call(x));
函数调用(x){
var p=0,
d=[],
g=x。替换(/\s/g,”);
对于(var i=p;i
这在大多数情况下都很好,但我正在寻找更有效的方法和小想法来做到这一点
- 请不要建议使用jquery
{
和}
您可以使用(?大多数情况下工作正常,但有时会失败)排除它们。如果您可以共享失败和成功的测试用例,则可以/更容易地修改/扩展现有解决方案本身。
function call(x){
return x.match(/{(.*)}/g);
}
return x.match(/(?<={)(.*)(?=})/g);