Сообщение от Shasoft
|
var re0 = new RegExp("[\\s|,|.]"+n, "i");
var re1 = new RegExp("^"+n, "i");
Убрал 'g' из параметров. Вроде работает. Хотел в один RegExp объединить, но знаний не хватает.
|
Я тоже не силён в регулярках, но попробовал бы так:
var re = new RegExp("^|[\\s|,|.]"+n, "i");
--
upd.
C утречка глянул ещё разок. Поправка:
var re = new RegExp("(^|[\\s|,|.])"+n, "i");
--
upd 2
Мне сейчас регулярки как раз актуальны (делаю формы для редактирования с валидацией), а посему глянул доки.
Всё может оказаться попроще. Цитата из мануала:
Код:
|
\b : Позиция между символом ASCII и не символом ASCII (граница слова) |
итого имеем две простых версии:
1)
var re = new RegExp("\b"+n, "i");
2)
var re = new RegExp("(^|\b)"+n, "i");
Первый вариант будет/не будет работать в зависимости от того, считается ли начало строки границей слова, второй вроде по любому должон работать