同位素正则表达式搜索在行首按单词过滤

Isotope regex search filtering by word at the beginning of line

我想通过仅匹配行字符串的开头来过滤 Isotope 中的结果。我知道正则表达式应该类似于 [/^\b($string)/igm] http://regexr.com/3e9gc 但我似乎无法让它工作。

这是 Isotope 自己的 codepen 示例,我尝试在其上应用此正则表达式: http://codepen.io/anon/pen/pENYZE

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

... 是有问题的代码行。我似乎也无法正确包含 ^。

在搜索字段中开始输入 Ca - 钙、镉和编辑过的铼镉将出现。 第三个不应该存在(或任何其他组合)

感谢您的帮助。

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

$this.text()的例子:

    Plutonium
    Pu
    94
    (244)

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

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

CodePen