Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Как получить массив слов RegExp'ом? (https://javascript.ru/forum/events/48055-kak-poluchit-massiv-slov-regexp%27om.html)

Mel 18.06.2014 08:06

Как получить массив слов RegExp'ом?
 
Казалось бы ничего сложного.
Есть строка, приходящая по СМС. Её надо разобрать на слова. Естественно, прийти может любой набор: и разделённый точками, и запятыми, и пробелами — кто во что горазд.
Я сначала сделал так:
var InText = 'Некий текст, пришедший в сообщении.';
// Знаки препинания заменяются пробелами
InText = InText.replace(/,.!?;:()]/g, ' ');  
// Двойные пробелы заменяются одинарными
InText = InText.replace(/\s+/g," ");    
// Массив слов входящего сообщения
var TextArray = InText.split(' ');

Но потом завис. Скажем, «www.javascript.ru» — это одно слово или три? У меня получается три, а как надо?

/\b.+\b/g и /\<.+\>/g дают при match'е и exec'е null. Не могу сообразить, как правильно собрать выражение, чтобы слова определялись не так, как я решил, а так, как они определяются javascript'ом?

Mel 18.06.2014 08:15

Приношу извинения за размещение темы не в том подфоруме: тупо кликнул на первую выданную гугелем тему.

Aetae 18.06.2014 08:18

Слова никак не определяются javascript'ом. Для языка это лишь набор бит. Дели на слова так, как считаешь нужным.

P.S. \b работает только с латиницей.

Mel 18.06.2014 08:35

Я этого и опасался. Спасибо.


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