Таким образом, для согласования всех слов на странице текста, я использую это:Соответствующие слова с пробелами
new RegExp("([a-zA-Z0-9\-]+)","ig");
Проблема в том, некоторые из вещей, которые я должен соответствовать может быть два слова, как " зеленый чай ", например. Так что я попытался это:
var pattern = new RegExp("([a-zA-Z0-9\-?]+\\s[a-zA-Z0-9\-_]+)","ig");
но проблема в том, что он не соответствует каждую двойную комбинацию слов, так что, возможно, это будет соответствовать «зеленым», «чайные листья». Я думаю, что, как это работает, по крайней мере, все, что я знаю, это не соответствует «зеленому чаю».
Вас интересует более двух слов? –
Здесь нет волшебной таблетки, потому что механизм регулярных выражений не может знать, что слова «зеленый чай» идут вместе, но «зеленым» нет, поэтому вам нужно будет перечислить все комбинации слов, которые вы хотите. рассматривать как единицу - или делать что-то после факта. –
Итак, только для разъяснений, ввод «Мне нравится зеленый, чай хорош» должен возвращать массив «[« Мне нравится »,« Как зеленый »,« Зеленый чай »,« Чай есть »,« Хорошо », , 'good'] '? – Jonathan