Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Подскажите как вставить переменную в RegExp c модификаторами (https://javascript.ru/forum/misc/13131-podskazhite-kak-vstavit-peremennuyu-v-regexp-c-modifikatorami.html)

Дмитрий-Solod 16.11.2010 19:16

Подскажите как вставить переменную в RegExp c модификаторами
 
var text = "Человек волк человек Волк";

var poisk = "человек Волк";

var string = String(poisk.split(" ")).replace(",","|");


И теперь немного обработанную для возможности дальнейшего поиска по каждому слову переменную string, нужно вставить в RegExp.



var reg1 = /string/ig; /* так понятно что некорректно */

var reg2 = "/"+string+"/ig"; /* так вроде:-? корректно(хотелось бы), но в итоге не срабатывает и видает 'null' (смотрите ниже) */

var reg3 = string; /* так корректно, и срабатывает(т.е. находит только одно совпадение), НО НУЖНО ИМЕННО ВМЕСТЕ С МОДИФИКАТОРАМИ , чтобы найти все совпадения и независимо от регистра букв */


То есть

document.write(text.match(reg2)+"<br><br>"); /* 'null' */


в то же время как

document.write(text.match(/человек|Волк/ig)); /* 'Человек волк человек Волк' То есть то что надо, хотя по сути здесь в методе 'match' параметр - это та же переменная reg2 */


Если не затруднит, подскажите возможно ли как то вставить переменную(в данном случае reg2) в RegExp(ИМЕННО С МОДИФИКАТОРАМИ). И если да, то что я делаю не правильно.

UnderShot 16.11.2010 19:22

var reg2=new RegExp(string,"ig")

Дмитрий-Solod 16.11.2010 19:30

Вот оно че !!! Как говорится век живи ...

UnderShot :thanks:


Часовой пояс GMT +3, время: 22:56.