2016-09-21 4 views
0

Я хотел бы отфильтровать результаты в Изотопе, сопоставляя только начало строк строки. Я знаю, что regexp должен быть чем-то вроде строки [/^\ b ($ string)/igm] http://regexr.com/3e9gc, но я не могу заставить его работать.Поиск изотипа regex по слову в начале строки

Вот собственный codepen пример изотоп, на котором я попытался применить это регулярное выражение: http://codepen.io/anon/pen/pENYZE

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

... это строка кода в вопросе. Я тоже не могу правильно включить ^.

В поле поиска введите Ca - Кальций, кадмий и отредактированный Rhenium Cadmiumca появится. Третьего не должно быть (или любая другая комбинация).

Благодарим за помощь.

ответ

1

Что происходит, это использование $ this.text() для получения всего текста в каждом элементе, а затем запуск регулярного выражения. Этот текст включает в себя всевозможные пространства и т. Д., Поэтому вам нужно быть более гибкими, чтобы заставить его работать правильно.

Пример $this.text():

Plutonium 
    Pu 
    94 
    (244) 

Добавление \s* после строки-старт позволяет любому количеству пробельных символов, чтобы появиться рядом, перед само слово.

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

CodePen

+0

Именно то, что мне было нужно! Спасибо за быстрый ответ! – tzn