Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   регулярка не строится (https://javascript.ru/forum/jquery/56597-regulyarka-ne-stroitsya.html)

join 24.06.2015 14:08

регулярка не строится
 
Привет Всем. Нужна помощ по регулярке. Найти элемент массива в котором сидит идентичная переменная(слово).
var arr = ['be - was - been','borne - bear - debet','beaten - beat - beat'];
var patternWord = 'be'; //в переменной может быть любое слово из массива arr, например bear, or be, or been..
var rip = new RegExp('^' + patternWord + '$', 'g'); //регулярка - точное совпадение с patternWord.
var result = '';

$.each( arr , function(i, elems){
     if( elems.search( rip ) > -1 ){
            result = elems;
            console.log(result); //в result должна отфильтроваться один элемент массива arr совпавший с генерируемой переменной patternWord, например получить только 'be - was - been' при patternWord = 'be';
     } else {
            return null;
     }
});

рони 24.06.2015 14:28

join,
var rip = new RegExp('^' + patternWord + '\\b');

рони 24.06.2015 14:34

join,
var arr = ['be - was - been','borne - bear - debet','beaten - beat - beat'];
var patternWord = 'be'; //в переменной может быть любое слово из массива arr, например bear, or be, or been..
var rip = new RegExp('^' + patternWord + '\\b'); //регулярка - точное совпадение с patternWord.
var result = arr.filter(function(el) {
   return rip.test(el)
});
alert(result)//result[0]

join 24.06.2015 14:38

Цитата:

Сообщение от рони
рони

Спасибо рони. Работает с латинницей.Кириллицу не хочет переваривать.

в примере забыл кириллицу добавить.

рони 24.06.2015 14:44

join,


var rip = new RegExp('^' + patternWord + '\\s');

рони 24.06.2015 14:49

join,
если не только в начале
var rip = new RegExp('(^|\\s)' + patternWord + '(\\s|$)');

join 24.06.2015 14:57

Цитата:

Сообщение от рони (Сообщение 376416)
join,
если не только в начале
var rip = new RegExp('(^|\\s)' + patternWord + '(\\s|$)');

Вроде работает. Благодарю. :)

join 15.07.2015 20:39

test


Часовой пояс GMT +3, время: 13:49.