我想通过仅匹配行字符串的开头来过滤Isotope中的结果。我知道regexp应该是[/ ^ \ b($ string)/ igm] http://regexr.com/3e9gc的内容,但我似乎无法使其正常工作。
这是Isotope自己的codepen示例,我尝试应用此正则表达式: http://codepen.io/anon/pen/pENYZE
qsRegex = new RegExp( "\\b("+$quicksearch.val()+")", 'gmi' );
...是有问题的代码行。我似乎也不能正确地包括^。
在搜索字段中,开始输入 Ca - 将出现钙,镉和编辑过的铼镉。 第三个不应该在那里(或任何其他组合)。
感谢您的帮助。
答案 0 :(得分:1)
正在发生的是使用$ this.text()来获取每个元素框中的所有文本,然后在其上运行正则表达式。该文本包括各种类型的空格等,因此您必须更灵活才能使其正常工作。
$this.text()
的示例:
Plutonium
Pu
94
(244)
在行开始后添加\s*
允许接下来出现任意数量的空白字符,之前单词本身。
qsRegex = new RegExp( "^\\s*\\b("+$quicksearch.val()+")", 'gmi' );