Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Регулярные выражения: круглые скобки в replace (https://javascript.ru/forum/misc/56910-regulyarnye-vyrazheniya-kruglye-skobki-v-replace.html)

Thomas2000 09.07.2015 15:24

Регулярные выражения: круглые скобки в replace
 
Здравствуйте, подскажите пожалуйста, как с помощью метода replace в javascript заменить выражение, содержащее круглые скобки.

Ситуация такая, у меня есть таблица с продуктами, в последней колонке стоят checkbox, при нажатии на которые название и калорийность добавляются/удаляются в невидимый textarea.

Я написал небольшой код:

var str=document.getElementById("mes1").value; 
var AB1=the_element.parentNode.parentNode.previousSibling.previousSibling.previousSibling.previousSibling.textContent+" - "+ ABTotalfunc + " ккал.";
var n=str.replace(new RegExp(AB1, 'g'),"");
document.getElementById("mes1").value=n;


Задача в следующем: при снятии флажка, фраза, к примеру: "Фасоль, зерно" удаляется без проблем, а вот фраза: "Фасоль (стручок)" никуда не удаляется. Я так полагаю, это из-за круглых скобок, как можно это исправить?

И вторая задачка, как в этом же регулярном выражении после удаления строки из textarea удалить еще и "/n", который там остался ?

Заранее огромное спасибо! :)

Deff 09.07.2015 15:29

AB1=(the_element.parentNode.parentNode.previousSibling.previousSibling.previousSibling.previousSibling.textContent+" - "+ ABTotalfunc + " ккал.").replace(/\(/gm,'\\(').replace(/\)/gm,'\\)');
var n=str.replace(new RegExp(AB1, 'g'),"").replace(/\n/gm,' ');

kostyanet 09.07.2015 15:38

Цитата:

Сообщение от Thomas2000
the_element.parentNode.parentNode.previousSibling. previousSibling.previousSibling.previousSibling.

Кандидат на цитирование в http://govnokod.ru/


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