Мне нужно принять несколько невысказанных ограничений из вашего вопроса, чтобы это сработало:
Правильно ли я догадываюсь, что вы хотите регулярное выражение, которое может найти (а затем заменить) любое 'p 'тег с определенным идентификатором, вплоть до определенного тега (например, тег' br ') с идентификатором' end_of_ [firstid] '?
Если это правильно, то может сработать следующее регулярное выражениедля тебя.Возможно, вам нужно немного изменить его, чтобы JS принял его:
<p\s+id='([a-zA-Z0-9_]+)'.*?id='end_of_\1'\s*\/>
Это даст вам любое созвездие с критериями, описанными выше, и имя, если идентификатор в качестве группы1. Теперь это должно быть простой задачей: проверить, содержит ли group1 идентификатор, который вы хотите удалить, и затем заменить все совпадение пустой строкой.
Если я правильно понимаю ваш пример (я не так хорошс JavaScript и мой RegEx был основан скорее на общем стиле Perl-регулярных выражений) вы можете сделать что-то вроде следующего:
var patt=new RegExp("<p\s+id='"+id+"'.*?id='end_of_"+id+"'\s*\/>","g");
Таким образом, вам не нужно беспокоиться о сопоставлении групп, хотя янайдите его более элегантным, чтобы он соответствовал нужному идентификатору через группу, а не вставлял его в RegEx.