Регулярные выражения

Russian main discussion
  • Author
  • Message
DV
Offline
Posts: 1250
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Post by DV »

Tony wrote:Я тоже за регулярные выражения :)
Можно воспользоваться pcre.dll, которая собрана с поддержкой UTF-8 (а такая в уже готовом виде есть, к примеру, в файлах WinMerge).
Таким образом, для работы с юникодными строками из AkelPad надо будет выпонять WideCharToMultiByte() в UTF-8, и скармливать получившуюся строку соответствующим функциям pcre.
Поиск, скорее всего, будет регистрозависимый (для нелатинских букв).
Дело лишь за малым - реализовать вышесказанное в AkelPad. Кому не терпится за это взяться, кто первый?

Offline
Posts: 876
Joined: Tue Jul 24, 2007 8:54 am

Post by Fr0sT »

DV
что-то не верится, чтобы она кушала только utf8, не поддерживая utf16. Он же проигрывает по производительности

Offline
Posts: 98
Joined: Thu Jul 03, 2008 7:23 pm

Post by Tony »

Тоже считаю, что не хватает только регулярных выражений, остальное всё необходимое есть.

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

Регулярные выражения реализованы через диалог SearchReplace.js в Scripts плагине.

Offline
Posts: 98
Joined: Thu Jul 03, 2008 7:23 pm

Post by Tony »

Проблема в том, что если использовать AkelPad с флешке на другом компьютере, то нужно запускать Scripts-register, а на vista или seven сразу же проблемы начинаются. Всётаки было бы удобнее, еслибы регулярные выражения были бы в самой программе.

Offline
Posts: 767
Joined: Mon Sep 28, 2009 10:03 am
Location: Minsk, Belarus

Post by se7h »

Tony wrote:Проблема в том, что если использовать AkelPad с флешке на другом компьютере, то нужно запускать Scripts-register, а на vista или seven сразу же проблемы начинаются. Всётаки было бы удобнее, еслибы регулярные выражения были бы в самой программе.
как-то раз столкнулся именно с такой проблемой, акел на флешке и ни о каком Script-register не могло быть и речи

Offline
Posts: 876
Joined: Tue Jul 24, 2007 8:54 am

Post by Fr0sT »

А что, неужели нету нормальной сишной реализации регулярок? Почему так сложно встроить их в Акел?

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

Tony
se7h
Попробуйте портативный режим Scripts в версии 5.0.

Offline
Posts: 767
Joined: Mon Sep 28, 2009 10:03 am
Location: Minsk, Belarus

Post by se7h »

Instructor wrote:Tony
se7h
Попробуйте портативный режим Scripts в версии 5.0.
этого как раз и не хватало ;)

Offline
Posts: 98
Joined: Thu Jul 03, 2008 7:23 pm

Post by Tony »

Instructor
Впринципе неплохой выход из ситуации. Спасибо!

Offline
Posts: 9
Joined: Fri Jun 08, 2012 12:38 pm

Post by guest13 »

..
Last edited by guest13 on Wed May 28, 2014 1:35 am, edited 1 time in total.

Offline
Posts: 2247
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

Я не знаю чем именно Вы ищете: встроеным поиском, или скриптом. Оба движка работают на JavaScript-подобных регулярках(не знаю, чьего они стандарта). И регулярка вполне себе понятная.
токены [] в регулярках - означают что то что внутри - список искомого.
\u#### означает поиск символа по его коду(Юникодному), допускается везде в регулярках,
- - знак диапазона, допускается исключительно в [], иначе считается обычным знаком
. - любой символ
* - квантизатор 0 и больше(т.е. .* означает "захватить всё" при жадном захвате).
Всё тут читаемо. Выражение читается так.
Захватить 1 символ, код которого от 0 до 8 либо, 11, 12, 14 до 31 включительно), дальше сколько есть любых символов.
(9 - текстовый символ табуляции, 10,13 - перенос строки, >31 - текстовый знаки в соответствии с ANSI).
А теперь вопрос: Вы внимательно переписывали? Ибо вот та вот "." - лишняя. Без нее регулярка при замене на пустую строку просто удаляла байты, которым явно не место в текстовых файлах.
Естественно, это не есть универсальное решение. Ибо бинарники на то и бинарники что могут содержать любые символы, в том числе вполне читаемые текстовые последовательности.

Offline
Posts: 9
Joined: Fri Jun 08, 2012 12:38 pm

Post by guest13 »

..
Last edited by guest13 on Wed May 28, 2014 1:38 am, edited 1 time in total.

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

guest13 wrote:...при поиске вверх зависает AkelPad...
Тестовая

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

Вопросец по регуляркам /задаю здесь, т.к. другие в основном здесь задавали, а хотелось бы выделить эти вопросы в отдельную тему и учиться!)/
Значит есть строка, в начале могут быть пробелы/табуляции, а могут не быть. И наоборот, все эти "пустые символы" могут быть, а текста нет.
Так вот нужна такая регулярка, которая бы возвращала в $1 все "пустые символы" из начала строки, а в $2 - все значащие символы, идущие после начальных "пустых".
Post Reply