Показать сообщение отдельно
  #1 (permalink)  
Старый 18.06.2014, 08:06
Mel Mel вне форума
Аспирант
Отправить личное сообщение для Mel Посмотреть профиль Найти все сообщения от Mel
 
Регистрация: 24.02.2012
Сообщений: 33

Как получить массив слов 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'ом?
Ответить с цитированием