Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   вывести слова определенной длины с помощью регулярных выражений (https://javascript.ru/forum/dom-window/61196-vyvesti-slova-opredelennojj-dliny-s-pomoshhyu-regulyarnykh-vyrazhenijj.html)

alexandr2006 08.02.2016 10:57

вывести слова определенной длины с помощью регулярных выражений
 
var text = 'яблоко, сок, морковка, помидор, тыква, арбуз'

// Найти слова, в которых 5 букв
console.log('5 букв: ', text.match(/\b\w{5}\b/g));


Но оказывается \b с кириллицей не работает. Как быть?

рони 08.02.2016 11:01

alexandr2006,
регулярка то зачем? длину и меряйте

рони 08.02.2016 11:08

alexandr2006,
var text = 'яблоко, сок, морковка, помидор, тыква, арбуз'

// Найти слова, в которых 5 букв
alert(text.split(/[\s,]+/).filter(function(el) {
  return el.length == 5
}));

alexandr2006 08.02.2016 12:10

А мне надо регуляркой

destus 08.02.2016 12:59

Цитата:

Сообщение от alexandr2006 (Сообщение 406820)
А мне надо регуляркой

попробуй так
<script>
         document.addEventListener('DOMContentLoaded', function () {
             var text = 'яблоко, сок, морковка, помидор, тыква, арбуз';
             text = ' ' + text + ' ';
             var res = text.match(/[^А-Яа-яёЁ]([А-Яа-яёЁ]{5})(?=[^А-Яа-яёЁ])/g);
             var res2 = res.map(function(elem){
                 return elem.replace(/\s*/g,'');
             })
             alert('5 букв: ' + res2);
         })

	</script>

рони 08.02.2016 14:33

destus,
с пробелом и без первого слова

destus 08.02.2016 14:49

Цитата:

Сообщение от рони (Сообщение 406841)
destus,
с пробелом и без первого слова

В первом слове не пять букв.

рони 08.02.2016 15:16

destus,
а ты сделай одно слово из 5 букв и посмотри что будет

destus 08.02.2016 15:25

Цитата:

Сообщение от рони (Сообщение 406847)
destus,
а ты сделай одно слово из 5 букв и посмотри что будет

http://pixs.ru/showimage/adadadadpn_...3_20595101.png

рони 08.02.2016 16:53

destus,
:) а если так
<script>
         document.addEventListener('DOMContentLoaded', function () {
             var text = ',арбуз';
             text = ' ' + text + ' ';
             var res = text.match(/[^А-Яа-яёЁ]([А-Яа-яёЁ]{5})(?=[^А-Яа-яёЁ])/g);
             var res2 = res.map(function(elem){
                 return elem.replace(/\s*/g,'');
             })
             alert('5 букв: ' + res2);
         })

	</script>


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