Поскольку вы пояснили, что это регулярное выражение должно использоваться в IDE, я протестировал его в Eclipse, и он работает:
FIND:
(_html.*)</center></html>
REPLACE WITH:
$1
Убедитесь, что вы включили переключатель Регулярные выражения в диалоге поиска / замены.Это будет соответствовать любой строке, которая содержит _html.*
(где .*
жадно соответствует любой строке, не содержащей символов новой строки), за которой следует </center></html>
.Он использует (…)
скобки для захвата того, что было сопоставлено с группой 1, и $1
в замещающих заменах в том, что захватили группу 1.
Это эффективно удаляет</center></html>
если этой строке предшествует _html
в этой строке.
Если в строке может быть несколько </center></html>
, и все они должны быть удалены, если слева от них находится _html_
, тогда регулярное выражение будет более сложным, но это можно сделать за одно регулярное выражение с \G
продолжением привязки , если это абсолютно необходимо.
Вариации
Говоря в более общем плане, вы также можете подобрать такие вещи:
(delete)this part only(please)
Теперь создается 2 группы захвата.Вы можете сопоставить строки с этим шаблоном и заменить на $1$2
, и он будет эффективно удалять this part only
, но только если ему предшествует delete
, а затем please
.Эти подшаблоны, конечно, могут быть более сложными.