This question already has answers here:
Regular Expressions: Is there an AND operator?
(12个答案)
4年前关闭。
基于输入框,我的javascript中有一个简单的过滤器功能。
因此,如果我有一个带有单词列表的表格,例如。
然后在输入框中输入“ alpha cen”,该函数将搜索(“ alpha”或“ cen”)并根据需要返回一个记录。
但是,如果将“
为什么?
(12个答案)
4年前关闭。
基于输入框,我的javascript中有一个简单的过滤器功能。
function filter(selector, query) {
query = $.trim(query); //trim white space
query = query.replace(/ /gi, '|'); //add OR for regex
$(selector).each(function() {
($(this).text().search(new RegExp(query, "i")) < 0) ? (do something here)
因此,如果我有一个带有单词列表的表格,例如。
Alpha Centauri,
Beta Carbonate,
Charly Brown,
...
然后在输入框中输入“ alpha cen”,该函数将搜索(“ alpha”或“ cen”)并根据需要返回一个记录。
但是,如果将“
|
”替换为“ &
”以搜索(“ alpha”和“ cen”),则不会得到任何结果。即使输入“ alpha centauri”,我也一无所获。为什么?
最佳答案
尽管正则表达式中的|
允许替换,但&
没有特殊含义。您当前的代码正在尝试查找alpha&cen
的文字匹配项,该匹配项显然与您的任何数据都不匹配。
10-04 22:14