Казалось бы ничего сложного.
Есть строка, приходящая по СМС. Её надо разобрать на слова. Естественно, прийти может любой набор: и разделённый точками, и запятыми, и пробелами — кто во что горазд.
Я сначала сделал так:
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'ом?