Если вы редактируете HTML или лучше XHTML и / или XML, используйте DOM.Это не очень хорошая идея, пытаясь сделать это с помощью регулярных выражений.
Если вы хотите / хотите использовать регулярное выражение:
Если вы хотите удалить из HERE
в THERE
, попросите васдумал о таких случаях HERE A HERE B THERE C THERE
?Простое не жадное совпадение не будет вести себя как «ожидаемый», удаляя внутренний ЗДЕСЬ в ЗДЕСЬ, но приведет к C THERE
.
По сути, вам нужно найти THERE
и затем перейти влевочтобы найти сначала HERE
, s/(.*)HERE.*?THERE/\1/
(с использованием синтаксиса PCRE) должен выполнить свою задачу и оставить HERE A C THERE
.Повторите, чтобы избавиться от этого тоже.Однако это не будет работать с глобальной заменой, заменяющей все вхождения.Для такого использования используйте алгоритм:
while (found) {
find a first `THERE` and then go to left to find first `HERE` \
with regexps or without.
}