@LShAnka
начинающий программист-любитель

Возможно ли объединить два регулярных выражения в одно?

Здравствуйте.
Имеется строка, к которой нужно применить два регулярных выражения. По отдельности применяются, а последовательно нет. Вот и подумалось, можно ли их объединить в одно?
var str = 'год человек время дело жизнь';
/*оставляет слова с нужными первыми согласными*/
str2=str.match(/(^|\s)[аяеэюуёоиы]{0,1}[кгтчпшсвд]{1}[аяеэюуёоиы]{1}[кгтчпшсвд]{1}[а-яА-ЯёЁ]{0,}/gi) ;
/*убирает гласные*/
str3=str2.replace(/[аеуяоиёэыю]/gi, '');

И еще вопрос, а почему не применяются последовательно? Получаю ошибку "TypeError: str2.replace is not a function".
Я чайник, только в начале пути, извините, если примитив спрашиваю
  • Вопрос задан
  • 121 просмотр
Пригласить эксперта
Ответы на вопрос 1
AngReload
@AngReload
Кратко о себе
По тому что match возвращает не строку а массив.
var str = 'год человек время дело жизнь';
var arr = str.match(/(^|\s)[аяеэюуёоиы]{0,1}[кгтчпшсвд]{1}[аяеэюуёоиы]{1}[кгтчпшсвд]{1}[а-яА-ЯёЁ]{0,}/gi);
var str2 = arr.join(' ');
var str3 = str2.replace(/[аеуяоиёэыю]/gi, '');

Объединить их не получится.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы