同位素正则表达式搜索在行的开头按字过滤

时间:2016-09-21 16:05:55

标签: jquery regex filtering isotope

我想通过仅匹配行字符串的开头来过滤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 - 将出现钙,镉和编辑过的铼镉。 第三个不应该在那里(或任何其他组合)

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

正在发生的是使用$ this.text()来获取每个元素框中的所有文本,然后在其上运行正则表达式。该文本包括各种类型的空格等,因此您必须更灵活才能使其正常工作。

$this.text()的示例:

    Plutonium
    Pu
    94
    (244)

在行开始后添加\s*允许接下来出现任意数量的空白字符,之前单词本身。

  qsRegex = new RegExp( "^\\s*\\b("+$quicksearch.val()+")", 'gmi' );

CodePen