2010-11-30 5 views
3

Мне нужно редактировать множество исходных кодов, похожих друг на друга.Удалите все строки до определенной строки в Notepad ++

random blah 
random blah 
blah 
<table style="width: 232px; font-size: small;" cellpadding="0" cellspacing="0">.... 

Что я хочу сделать, это удалить строки до тега таблицы. Я думаю, что могу сделать это с помощью поиска в Regex, но я не смог написать шаблон регулярного выражения. Спасибо

+0

Хороший вопрос, но я не думаю, что вы можете это сделать. Я не мог найти, как включить многострочный. `(? m)` внутри регулярного выражения, похоже, не работает. Возможно, вы должны попросить людей дать вам проверенные решения, потому что теоретические бесполезны. – 2010-11-30 19:36:39

+0

Проблема может заключаться в том, что языки позволяют вам делать это только один раз, а n ++ - нет. – Keng 2010-11-30 20:02:56

ответ

3

Вы должны пройти несколько шагов, чтобы сделать то, что вы уже говорилось выше:

  1. Перейти к окну замены, выберите режим «расширенный», и в «найти» тип поля «\r\n» и заменить т hem с: «LINEBREAK» (это пространство после «LINEBREAK»). Нажмите, чтобы заменить все.

  2. Перейдите в окно замены еще раз, выберите режим «регулярное выражение», а в поле «Найти что» введите "(.*)(.*)(<table)(.*)(>)(.*)(.*)" и в поле «заменить» введите «\2\3\4\5». Нажмите, чтобы заменить все.

  3. Теперь идите снова заменить окно, выберите избирают режим «расширенный», и в «найти то, что» тип поля в «LINEBREAK» (Theres пробел после «LineBreak») и заменить их: «\r\n» , Нажмите, чтобы заменить все.

Notepad ++ не поддерживает многолинейное регулярное выражение, что затрудняет выполнение того, что вы хотели сделать, не пройдя шаги, указанные выше.

0

вы можете попробовать что-то вроде:

(^.*$\n)*<table(.+)> 

Первая группа будет соответствовать все строки до табличного тега%)

Смежные вопросы