Реверс слова с помощью регулярки

На вход поступает слово переменной длины. Как средствами лишь регулярного выражения выдать перевёрнутое слово? Например, на входе -йылеб — нужно первернуть на -белый. Или акчотточка. Ранее встречалось решение только с match в одном буржуйском блоге, но сейчас к нему доступа нет.


Ответы (5 шт):

Автор решения: Александр

Можно использовать калбэк в replace для аккумулирования символов в обратном порядке. Например, так:

let s = '1234', rs = ''
s.replace(/[а-яА-Я\w]/g, m => rs = m + rs)
console.log(rs) // '4321'
→ Ссылка
Автор решения: ksa

С тем же успехом развернуть можно и так...

let s = '1234'
s = [...s].reduce((s, v) => v + s)
console.log(s)

→ Ссылка
Автор решения: Deonis

С тем же успехом развернуть можно и так...

let s = '1234';
s = [...s].reverse().join``;
console.log(s);

→ Ссылка
Автор решения: ΝNL993

Ну давай тогда и я уж свой способ предложу :)

let str = '1234'
str = Object.values(str).reverse().join('')
console.log(str)

Объявление

Превращаем строку в массив, "переворачиваем" массив, и соединяем всё в одну строку.

→ Ссылка
Автор решения: EzioMercer

Если приемлимы варианты без регулярок, то предложу самый быстрый способ сделать это:

function reverseString(str) {
  let x = '';
  
  for (let i = str.length - 1; i >= 0; --i) {
      x += str[i];
  }
  
  return x;
}

console.log([
  'abcde',
  'qwerty',
  '12345',
  'абвгде'
].map(str => reverseString(str)));

→ Ссылка