我正在尝试编写一种方法,用于搜索与C#的Linq查询匹配的项目。拆分值但在结果数组中保留值
因此,例如:
myObj.query("name == 'Bob' and age >= 18");
因此,采取我认为开始的最好的地方是让每个组,所以首先我对分裂和and
or
。这似乎给了我一半的想要的东西。
所以我这样做:
Object.prototype.query = function(string){
console.log(string.split(/(?=(and|or))/g));
};
的问题是,我得到的控制台输出错误:
0: "name == 'Bob' "
1: "and"
2: "and age >= 18"
我期待更多的东西像这样(注2,它不再包含and
):
0: "name == 'Bob'"
1: "and"
2: "age >= 18"
我想我在正确的方向前进,我只是不这与正则表达式好,所以我应该怎么做分裂两个值,但保持在输出?
只是一个想法,这是不行的,如果“和”或“或”有其他地方的的字符串中。 “兰迪”作为一个名字会导致字符串与上面的正则表达式分隔错误的地方。 –
真的......也许有比正则表达式更好的方法? –
你可以用'&&'或'||'代替'和'和'或'吗? –