2014-10-10 27 views
0

Я пытаюсь заменить только «Удалить» строки в этом блоке кода:Regular Expression Notepad ++ заменить

<table asldkjf> 
remove 
remove 
remove 
<tr> 

Проблема держит «asldkjf» строку в таблице тегов.

Я попытался заменить

<table[^>]*>[^<]*<tr> 

с

<table[^>]*><tr> 

И я получил

<table[^>]*><tr> 

что неправильно, как он заменил 'asldkjf' с «[^>] * '

У меня есть tr IED замена на основе reference

<table[^>]*>[^<]*<tr> 

с

<table$1><tr> 

И я получил

<table><tr> 

Что тоже неправильно.

ответ

1

Используйте группу захвата и окружайте узор, текст которого вы хотите использовать при замене. Вы можете обратиться к ним с помощью $n, где n - номер группы захвата.

Для получения дополнительной информации о том, как работает группа захвата, look at this answer.

Найти:

(<table[^>]*>)[^<]*(<tr>) 

Заменить:

$1$2 
+0

Это сработало отлично! благодаря – developer234

0

Вы можете использовать этот reegx

(?<=<table asldkjf>).*(?=<tr>) 

и заменить пустой строкой. Используйте модификатор dotall.

DEMO