[help]: регулярка для удаления всех строк которые не начинаются с заданных значений

Статус
В этой теме нельзя размещать новые ответы.

zloba00

Мастер
Регистрация
28 Окт 2008
Сообщения
247
Реакции
34
Собсно сабж, Помогите составить регулярку, работающую в EditPlus, которая удаляет все строки в документе которые не начинаются с задаyных тегов <tag1>, <eschotag>, <drugoitag>

т.е пример:

Код:
на входе:

<tag1>random text</tag1>
random text
<eschotag>random text</eschotag>
random text
<drugoitag>random text</drugoitag>

на выходе:

<tag1>random text</tag1>
<eschotag>random text</eschotag>
<drugoitag>random text</drugoitag>
 
Собсно сабж, Помогите составить регулярку, работающую в EditPlus, которая удаляет все строки в документе которые не начинаются с задаyных тегов <tag1>, <eschotag>, <drugoitag>

пользуюсь в Фаре плагином Regular Expression Replace, думаю что регулярка от него и в EditPlus покатит тоже.

делаем поиск с заменой:
поиск
^<(tag1|eschotag|drugoitag)>

замена
<$1>

еще ставим птичку [x] Remove not matched lines

ps: а вообще, из-за своей лени, я чаще всего пользуюсь обычным grep-ом(без регулярок). хотя в некоторых его разновидностях регулярки есть.
 
пользуюсь в Фаре плагином Regular Expression Replace, думаю что регулярка от него и в EditPlus покатит тоже.

делаем поиск с заменой:
поиск
^<(tag1|eschotag|drugoitag)>

замена
<$1>

еще ставим птичку [x] Remove not matched lines

ps: а вообще, из-за своей лени, я чаще всего пользуюсь обычным grep-ом(без регулярок). хотя в некоторых его разновидностях регулярки есть.

Ну оно работает не корректно в editplus:

Код:
на входе:
<tag1>random text</tag1>
random text
<eschotag>random text</eschotag>
random text
<drugoitag>random text</drugoitag>

на выходе:
<$1>random text</tag1>
random text
<$1>random text</eschotag>
random text
<$1>random text</drugoitag>

Может есть редактор в котором он работает наверняка правильно?
 
zloba00 чёта долблюсь долблюсь никак регулярка неполучается ... :D заколдованная какаято ... та что выше естественно нерабочая ...

Я в таком случае пользуюсь вот этой мощьной софтиной Для просмотра ссылки Войди или Зарегистрируйся

Тебе поможет встроенный фильтр "Удалить несогласующиеся строки"

Если ктото осилит регулярку .. напишите .. интересно ... :D
 
o_nix
Регулярку то не сложно составить, только посмотрел я этот EditPad, поддержка регулярок там слабая, там действительно извращаться не охота:).
Вот решение для современных диалектов
Код:
(?m)^\s*+(?!<(?:tag1|eschotag|drugoitag)>).*[\r\n]*
 
RolCom - при такой регулярке хавает только от каждой целевой строки по первому символу ... такое я уже получал когда сам мучался и это было попроще насколько помню ... Запускаю по схеме perl в томже textpipepro

Или это для запуска в многократном цикле ..??? до тех пор пока небудет поконченно с каждой зловредной буквой в отдельности :)
В каком скриптовом языке тестил ??? или в какой проге ..??
 
Работать будет в прогах от JSoft- PowerGREP, EditPad, RegexBuddy. В PHP, Perl. Для Яваскрипта довести надо немного.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху