Несколько вопрсов по регуляркам

Регистрация
27.12.2012
Сообщения
70
Благодарностей
8
Баллы
8
Я привык к тому как это все работает в notepad++, в зенно у меня же проблема. :-)

Почему замена на регулярное выражение не всегда корректно работает?

1. Я пишу регулярку [А-Я].{1,20}?[\!\.\?] удаляю коротки предложение, выбираю замену на \0 чтобы удалить пустые строки после замены. Вместо замены у меня сторки с текстом \0... Что не так?
2. На примере [А-Я].{1,20}?[\!\.\?] - в нотпаде я могу заменить [\!\.\?] на $ и все работает, в зенно нет. Почему? Отсюда третий вопрос.
3. Бывает такая проблема. Я сохранил данные в тхт, в нотпаде регулярки для строк работают с заданием начала ^ и конца $, в зенно же ничего не происходит, как будто он строки это видит по другому. К примеру есть предложения с пустотами вначале, в нотпаде ^\s+ прекрасно работает и все могу поменять. В зенно же ноль реакции... Текст один и тот же обрабатывается и там и там.
 

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
901
Баллы
113
гм... а вы уверены что у вас регулярки корректные? у нотпада если что, не все отрабатывается как у белых людей. Попробуйте конструктор регулярных выражений, вроде там все ок.
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 452
Благодарностей
1 886
Баллы
113
Notepad и Zenno по разному работают с регулярками. Их - регулярок - есть несколько типов. Они похожи, но работают не везде.
Поэтому для работы с нотпадом вы делаете одну регулярку, а в зенно другую.
Чтобы в зенно текст удалялся полностью, поле на что заменять оставляйте пустым. Если короткое предложение заканчивается переносом строки, укажите это в своей регулярке - [А-Я].{1,20}?[\!\.\?]\r\n
 
  • Спасибо
Реакции: Jorge_Rodrigez

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 452
Благодарностей
1 886
Баллы
113
гм... а вы уверены что у вас регулярки корректные? у нотпада если что, не все отрабатывается как у белых людей. Попробуйте конструктор регулярных выражений, вроде там все ок.
Если знать как, то там всё вполне корректно отрабатывается, просто не так, как в ЗП ;-)
 

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
901
Баллы
113
Регистрация
27.12.2012
Сообщения
70
Благодарностей
8
Баллы
8
А у меня вот в зенно не оч получается. :-) Спасибо daniilneet за подсказку.
Тогда такой вопрос.

Кусок текста:
О немецких тяжелых танках Тигр написано очень много.
Тщательно описаны их технические характеристики, написаны истории каждого батальона.
г.
- VIIVII Немецкий тяжёлый танк , обладающий слабым бронированием по сравнению с танками своего уровня, отличной динамикой,.
Тигр - немецкий тяжёлый танк Второй мировой войны, разработан в гг фирмой Хеншель.
Имел также обозначение PzKpfw VI Тигр I Ausf НЕ.
У меня есть строка г. и одна строка начинается с дефиса. Это надо потереть. В принципе, в нотпаде я бы сделал так ^.{1,3}$ и со второй проблемой ^([^А-ЯЁA-Z01-9].*?\<) - но в зенно ни то ни другое не работает.

Как решить проблему?
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 452
Благодарностей
1 886
Баллы
113
вместо начала строки - ^
и конца строки - $
Указывайте, что строка может начинаться символом начала строки - и заканчиваться символом возврата коретки, т.е. это будет выглядеть вот так
(^|\n).{1,3}($|\r)
Вот как то так.
по второй строке, вам нужно указать приблизительно так:
(^|\n)([^А-ЯЁA-Z01-9]).*
 
  • Спасибо
Реакции: Jorge_Rodrigez
Регистрация
27.12.2012
Сообщения
70
Благодарностей
8
Баллы
8
Теперь примерно понял как записывать регулярки под зенно.
Вот еще забавная штука. У меня переменная VARIABLE1 одна и та же, я ее взял, обработал, сохранил в нее же, и так несколько раз (сразу все регулярки не могу в одно действий применить). Так вот, если так делать не все регулярки работают. К примеру я делаю регулярку (\n[а-яё\s\-].*[\.\?]) и никакого результата, файл сохраняется неизменным. А вот если я результат обработки сохраню в VARIABLE2, потом сохраню ее в файл и снова вызову, то (\n[а-яё\s\-].*[\.\?]) уже будет работать. Мистика... ну для меня по крайней мере. Или это нужно сбрасывать переменные и записывать промежуточный результат в файл? Не могу понять.
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
Мистика. Сам всегда перезаписываю в одну и ту же переменную. Не совсем понятно при чем тут файл и что именно вы делаете. Приложите, если есть пример.
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)