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

  • Автор темы Автор темы Skvoznyak
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

Skvoznyak

Топикстартер
15 лет на форуме
Сообщения
5 500
Реакции
2 168
Привет всем!

собственно, хотел поинтересоваться состоянием open-source проекта по плагину regexp.

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

Ну выкладывай, посмотрим.
 
Ответ: Регулярные выражения revisited

1) для работы плагина нужны .dll библиотеки ICU и boost regex, сделанный с поддержкой ICU. на всякий случай выкладываю их отдельно

http://textwizard.spb.ru/dll.zip - 4.85 Mb

эти .dll нужно положить в корневой каталог InDesign CS2. можно и в другие системные, впрочем.

2) сам плагин -

http://textwizard.spb.ru/TextWizard.zip ~ 60 Kb

плагин пока что в абсолютно непригодном для реальной работы виде, поэтому ни на каких рабочих файлах пробовать его категорически нельзя.


"features":
1) не понимает никаких встроенных элементов в story - то есть сноски, таблицы и т.д. просто снесет, если попадутся как элементы regexp (например, при использовании .) - исправлено

2) если введенному regexp нет соответствия в тексте, выдаст ошибку и грохнет InDesign (исправлено - ошибки не будет)

3) работает только с первой story первого документа.

4) если в форматирующем выражении есть перестановки местами подвыражений, не исключен вариант что он их сделает несколько раз туда-сюда. при этом атрибуты текста местами не переставляет вообще.

в общем, исключительно тестовая версия (пока что). ногами не бейте, c++ по сути занялся месяц назад. :)
 
Ответ: Регулярные выражения revisited

1. Аська ушла в личку, можешь постучать.
2. В стори "При вет"
выражение " *" замена "1" - получаю "При11вет"
 
Ответ: Регулярные выражения revisited

между тем, плагин был обновлен за минувшие выходные, теперь работает по всему первому в сессии документу (пока что, правда, обходя вниманием таблицы и сноски).

ps как мы уже с Максимом обсудили, " *" может означать "ноль пробелов", так что лучше в данном контексте использовать " +".
 
Ответ: Регулярные выражения revisited

добавил обработку сносок и таблиц. обновленный плагин доступен по прежнему адресу.
 
Ответ: Регулярные выражения revisited

Долой Dll, да здравствует static lib.
и объем меньше и компилить проще.
 
Ответ: Регулярные выражения revisited

любой плагин - сам по себе dll
 
Ответ: Регулярные выражения revisited

Skvoznyak сказал(а):
любой плагин - сам по себе dll
Это понятно.
Но тягать за собой еще 5 мегов ДЛЛ это как то неинтересно.
 
Ответ: Регулярные выражения revisited

ну... я подумаю над вопросом, а пока что так.
зато я его уже на книжке одной обкатал, вроде все в порядке, тьфу-тьфу-тьфу
 
Ответ: Регулярные выражения revisited

Сквозняк, спасибо штука хорошая, использую ежедневно!
 
Ответ: Регулярные выражения revisited

классно! сейчас добавляю запись выражений в файл, потом займусь атрибутами
 
Ответ: Регулярные выражения revisited

Посмотрел вчера ICU - сильная штука.
 
Ответ: Регулярные выражения revisited

я же говорил... как раз наверное все твои маковские проблемы решит (оно же есть под мак?)

плюс - логичнее работать с 32-битными значениями символов, а не обрезать их до 16
 
Ответ: Регулярные выражения revisited

Skvoznyak сказал(а):
я же говорил... как раз наверное все твои маковские проблемы решит (оно же есть под мак?)
С Маком решил, стянул кусок кода из libiconv.

Судя по докам, с помощью Code Warrior его никто не собирал, только с gcc, надо будет пробовать.
 
Статус
Закрыто для дальнейших ответов.