Здравствуйте !
Подскажите что в данном случае получится в результате выполнения данного кода ?
console.log( this ) ;
шучу . . .
Задача следующая. . . У меня есть несколько
div
блоков , в которых с помощью
regExp
мне нужно заменить кое - что на кое - что , собственно всё почти получилось , однако по неведомой мне причине , некоторые регулярки абсолютно не работают , точнее регулярки чуть более сложные чем обычные слова заключенные в
/. . ./
. . .
<div class="any">function agg(){return true}</div><br>
<div class="any">function yt(x){return x.toUpperCase()}</div><br>
<div class="any">function (t, y, z){return "hello"}</div><br>
<div class="any">function hello(n){return Math.sqrt(n)}</div><br>
<div class="any">function h32(){console.log(false)}</div><br>
let test = document.querySelectorAll('.any');
let regCon = {
'/function/' : '<span style="color: red">',
'/return/' : '<span style="color: orange">',
'/console(?=\.)/' : '<span style="color: purple">',
// '/(?<=function\s)\w+(?=\()/' : '<span style="color: blue">', // ВОТ ЭТА СТРОКА
};
for(let k=0; k<test.length; k++){
for(let o in regCon){
test[k].innerHTML = test[k].innerHTML.replace(new RegExp(eval(o), 'gim'), m => regCon[o]+m+'</span>');
};
};
Т . е . если разкоментить строчку
ВОТ ЭТА СТРОКА
, то скрипт не работает корректно , ХОТЯ в том-же
regExp101.com
данная ' регулярка ' абсолютно корректно работает ! Прошу вашей помощи в объяснении этого случая ! Ну и если вдруг , ответ будет настолько простым , что придётся просто заменить какой-нибудь индекс в цикле , или поставить где-нибудь лишнюю запятую , если вам будет не сложно , скажите пару слов по поводу реализации , я имею ввиду сам принцип , что есть объект у которого ключ это регулярка , а значение , это то , НА что мы будем заменять , ну и разумеется работа с циклом , в общем ваше компетентное ( i hope ) мнение ! Спасибо !