我有以下数据:
记录1:
Winter 2014 - Barrie, Muskoka
<br style="display: block;">
Summer 2014 - Orangeville, Owen Sound
<br style="display: block;">
Fall 2013 - Barrie
记录2:
Winter 2014 - Barrie
<br style="display: block;">
Fall 2013 - Barrie
我需要在AND和OR标签上过滤它。校园过滤器和术语过滤器 - 在每个过滤器中,您可以选择多个校园或多个术语,并且需要相应地进行过滤。
例如:
Campus: Orangeville,Barrie
Term: Summer 2014,Winter 2014
以上标签应该返回两个结果,因为第一张唱片在2014年夏季旁边列出了Orangeville,而第二张唱片在2014年冬季旁边列出了Barrie。
经过一些研究和测试后,我认为我需要下面的内容,但我不能让它正常工作......我是一个正则表达式初学者。
(?=Winter\ 2014\ \-\ (Barrie|Orangeville))(?=Summer\ 2014\ \-\ (Barrie|Orangeville))
感谢。
答案 0 :(得分:1)
如果我理解正确,你可以这样匹配:
var campuses = ["Barrie", "Orangeville"];
var terms = ["Winter 2014", "Summer 2014"];
var your_regex = new RegExp("(" + terms.join("|") + ")\\s-\\s(" + campuses.join("|") + ")");
然后测试你的记录是否匹配:
if (your_regex.test(your_record)) {
// Record matches
}