Показать сообщение отдельно
  #25 (permalink)  
Старый 24.05.2019, 17:25
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Сообщение от рони
плохо представляю что вам нужно.
Сообщение от рони
чтобы это значило? подожду решения.
Смотрите, например код...
"aaabbbcc".match(/bb(b).(c)/)
возвращает...
Код:
{
    "0": "bbbcc",
    "1": "b",
    "2": "c",
    groups: undefined,
    index: 3,
    input: "aaabbbcc",
    length: 3,
    __proto__: Array.prototype
}
а автору нужно, чтобы это было так... Чтобы...
"aaabbbcc".match(/bb(b).(c)/)
возвращал...
Код:
{
    "0": "bbbcc",
    "1": { valueOf() { return "b" }, index: 5 },
    "2": { valueOf() { return "c" }, index: 7 },
    groups: undefined,
    index: 3,
    input: "aaabbbcc",
    length: 3,
    __proto__: Array.prototype
}
Тогда можно будет сказать, где в исходном тексте находится найденная группа

Так что, рони, ваш код из поста №24 работает неправильно... Вот с такими данными видно...
let str = "aaaa";
function r(v,s) {
  return v.replace(s, function(...f) {
     return f.slice(1,-2).reduce((str, reg, i) => str.replace(reg, `<span class=P${++i}>$&</span>`), f[0])
  });
}
str = r(str, /aa(a)a/g);
alert(str);

Последний раз редактировалось Malleys, 24.05.2019 в 17:32.
Ответить с цитированием