Страниц: [1] 2  Все   Вниз
  Отправить эту тему    Печать  
Автор Тема: Использовать последнюю версию движка регулярных выражений  (Прочитано 19754 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Михаил
Gold beta tester
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« : 24 июня 2007, 16:07:05 »

Хорошо было бы включить в следующую версию НС новую версию движка регулярных выражений, вышедшую 20.06.2007. С момента выхода предыдущей версии НС движок обновлялся 4 раза. Появились новые возможности обработки, пофиксены баги. Хотелось бы идти в ногу со временем и иметь возможность пользоваться всем этим.
Среди совсем нового:
Цитировать
Add more features from Perl 5.10:
(?-n) (where n is a string of digits) is a relative subroutine or recursion call. It refers to the nth most recently opened parentheses.
(?+n) is also a relative subroutine call; it refers to the nth next to be opened parentheses.
Conditions that refer to capturing parentheses can be specified relatively, for example, (?(-2)... or (?(+3)...
\K resets the start of the current match so that everything before is not part of it.
\k{name} is synonymous with \k<name> and \k'name' (.NET compatible).
\g{name} is another synonym - part of Perl 5.10's unification of reference syntax.
(?| introduces a group in which the numbering of parentheses in each alternative starts with the same number.
Сообщить модератору   Записан
NothingAnother
Beta tester
*****

Репутация: +7/-2
Offline Offline

Сообщений: 434

Spoiler


« Ответ #1 : 24 июня 2007, 22:23:40 »

новую версию движка регулярных выражений, вышедшую 20.06.2007
А здесь почему-то дата 19.06.07 Непонимаю Тоже устарело? Шокирован
Цитировать
С момента выхода предыдущей версии НС движок обновлялся 4 раза
Какой именно - предыдущей? Новогодней? тогда только 3... Показывает язык Но по сути присоединяюсь к пожеланиям  Михаил
Сообщить модератору   Записан

Мы тоже не всего читали Шнитке!..
© В. Вишневский
Михаил
Gold beta tester
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #2 : 24 июня 2007, 23:05:51 »

А здесь почему-то дата 19.06.07 Непонимаю Тоже устарело?ШокированКакой именно - предыдущей? Новогодней? тогда только 3... Показывает язык
Ты и вправду думаешь, что указанная тобой ссылка ведет к библиотеке Дельфи?   Нет-нет!
Обновление PCRE для ДЕЛЬФИ, используемое в НС, - уже 4-ое с Нового года и вышло 20.06.2007.  Подмигивающий
Но это просто так, к слову   Смущен

Новый параметр \K уже сейчас в большинстве случаев сможет заменить громоздкие конструкции (?<=) и (?<!) в Дефолтных списках.
Сообщить модератору   Записан
NothingAnother
Beta tester
*****

Репутация: +7/-2
Offline Offline

Сообщений: 434

Spoiler


« Ответ #3 : 24 июня 2007, 23:36:44 »

и вправду думаешь, что указанная тобой ссылка ведет к библиотеке Дельфи?
Тьфу ты, вечно забываю, что в Дельфи всё через... Подмигивающий Кхе-кхе, хотел сказать - рулеzzz... Улыбка
Сообщить модератору   Записан

Мы тоже не всего читали Шнитке!..
© В. Вишневский
NothingAnother
Beta tester
*****

Репутация: +7/-2
Offline Offline

Сообщений: 434

Spoiler


« Ответ #4 : 25 июня 2007, 01:02:27 »

А нельзя ли использовать (в смысле - возможно ли это в Дельфи?) не статическую, а динамическую линковку готовой библиотеки PCRE? В этом случае автору можно было бы не думать о свежести её версии...
Сообщить модератору   Записан

Мы тоже не всего читали Шнитке!..
© В. Вишневский
mai62
Автор HC
*****

Репутация: +226/-4
Offline Offline

Сообщений: 6383


« Ответ #5 : 25 июня 2007, 02:02:03 »

Михаил
Ты о каком
Цитировать
PCRE для ДЕЛЬФИ
пишешь? Их несколько.
Цитировать
Появились новые возможности обработки, пофиксены баги.
и добавлены новые  Подмигивающий
Цитировать
Новый параметр \K уже сейчас в большинстве случаев сможет заменить громоздкие конструкции (?<=) и (?<!) в Дефолтных списках.
Нехорошо если дефолтные списки будут работать только с новой версией. На то они и дефолтные, чтобы работать везде.
Сказанное не означает, что я противник новых версий, настанет час и для этого.
NothingAnother
Цитировать
А нельзя ли использовать (в смысле - возможно ли это в Дельфи?) не статическую, а динамическую линковку готовой библиотеки PCRE?
Можно. Просто мне больше нравится когда все в одном файле (отчасти исходя из этого я и выбирал библиотеку) и следуя этому приципу мы дефолтные списки встроили в exe-файл. А то или потеряется dll или попадется несовместимая версия, а без этой библиотеки НС никуда, она используется не только для правил, но и очень активно по всей программе.
Сообщить модератору   Записан
Кирилл
Beta tester
*****

Репутация: +5/-1
Offline Offline

Сообщений: 124


« Ответ #6 : 25 июня 2007, 08:05:26 »

NothingAnother
Цитировать
Тьфу ты, вечно забываю, что в Дельфи всё через...
Ты попал в логово паскалистов... Подмигивающий Через... ой, rulezz все в Visual Studio.
Кстати, исходную (сишную) версию PCRE на Дельфи можно использовать с тем же успехом.
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #7 : 25 июня 2007, 08:28:34 »

Кстати, исходную (сишную) версию PCRE на Дельфи можно использовать с тем же успехом.
В "чистом" готовом виде, видимо, нельзя. Требует доработки исходников из-за различия в линкерах С и Delphi.
Сообщить модератору   Записан
NothingAnother
Beta tester
*****

Репутация: +7/-2
Offline Offline

Сообщений: 434

Spoiler


« Ответ #8 : 25 июня 2007, 08:50:17 »

Нехорошо если дефолтные списки будут работать только с новой версией. На то они и дефолтные, чтобы работать везде
Ну, почему... Если дефолтные списки будут работать с версией, встроенной в сабж, то где "везде" им ещё надо работать? Говоря о новой версии, имею в виду текущую ситуацию - бета-тестирование. Перефразируя известную личность,- "вчера - рано, завтра - поздно!" - т.е., самое время!.. Улыбка
Цитировать
А то или потеряется dll
Да будет тебе!.. :Улыбка
Цитировать
или попадется несовместимая версия
В этом проекте обеспечивается совместимость "снизу-вверх", что можно уподобить развитию процессоров - каждое новое поколение увеличивает свою функциональность, при этом не отказываясь от кода, написанного для предыдущих версий, т.е. беспокоиться пользователям за свои ранее созданные списки нет причин (это же касается и использования PCRE сабжем помимо обработки списков). В принципе, несовместимость может возникнуть, если использовать библиотеку, не скомпиленную в рамках проекта "SourceForge", а самостоятельно собранную из исходников, т.к. появляется "человеческий фактор" в виде выбора различных опций оптимизации при компилировании. Ну, так хочет юзер поиметь длл'ку заточенную под свой камень, свою платформу - флаг в руки, может скомпилить себе сам хоть с "перламутровыми пуговицами" Смущен А от универсального (в рамках Win) бинарника библиотеки для комплектования HC от "SourceForge" какой-либо несовместимости не ожидается Благодарю
Цитировать
мне больше нравится когда все в одном файле
Ну, это аргумент железобетонный... Нет-нет!


Ты попал в логово паскалистов
Да нет, Pascal сам по себе вполне безобиден Показывает язык а вот Delphi как среда программирования, даже не позволяющаая сгенерить полноценный юникодовый (просю пардону за тавтологию Подмигивающий) код... Ясен пень - рулеzzz! Шокирован


В "чистом" готовом виде, видимо, нельзя. Требует доработки исходников из-за различия в линкерах С и Delphi
Сумнительно... Макс., что придётся править, это - PCRE.lib, но mai62 уже сказал, что - можно... Подмигивающий
Сообщить модератору   Записан

Мы тоже не всего читали Шнитке!..
© В. Вишневский
Михаил
Gold beta tester
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #9 : 25 июня 2007, 09:27:09 »

Ты о каком пишешь? Их несколько.
Об используемом в НС DIRegEx. Единственная другая библиотека для Дельфи, которую я знаю, содержит древнюю PCRE 6.7. А эта четко в ногу со временем идет.
Сообщить модератору   Записан
Кирилл
Beta tester
*****

Репутация: +5/-1
Offline Offline

Сообщений: 124


« Ответ #10 : 25 июня 2007, 10:18:03 »

NothingAnother
Цитировать
а вот Delphi как среда программирования, даже не позволяющаая сгенерить полноценный юникодовый (просю пардону за тавтологию ) код...
Delphi - позволяет. VCL - увы, нет. Я вообще на FreePascal перелезаю - ибо CodeGear ту самую юникодовость на уровне VCL обещает когда рак на горе уж совсем обсвистится. Но зато как "приятно" работать на Сях с ActiveX-объектами... Подмигивающий
А мне в Си не нравятся две вещи - синтаксис (не весь, есть очень приятные вещи, но за операции присваивания и сравнения убить был готов, плюс хедеры с макросами Подмигивающий И этого никакой сменой среды не поправишь Грустный
PS: может в курилке холивар устроим или просто пофлудим?

mai62
Цитировать
А то или потеряется dll или попадется несовместимая версия, а без этой библиотеки НС никуда, она используется не только для правил, но и очень активно по всей программе.
Если поставлять вместе с дистрибутивом - не потеряется.
Цитировать
На то они и дефолтные, чтобы работать везде.
Если не ошибаюсь, эта конкретная проблема уже успешно решена - HC же теперь умеет сам восстанавливать дефолтные списки. О совместимости надо заботиться тем, кто распространяет свои собственные наборы.
Сообщить модератору   Записан
mai62
Автор HC
*****

Репутация: +226/-4
Offline Offline

Сообщений: 6383


« Ответ #11 : 25 июня 2007, 12:44:03 »

Михаил
Цитировать
Об используемом в НС DIRegEx
Молодец, угадал  Веселый
А ты не заметил, что компонента DIRegEx небесплатная и ее версию не возьмешь какую хочется?
И рассуждающих о возможности использования С-библиотек в проекте на Delphi предлагаю обратить на это внимание. Как это может существовать и даже пользоваться спросом продаваемая за деньги компонента, которая является оберткой для библиотеки с открытым исходным кодом? Значит использовать С-библиотеку все же можно, но даром это не дается. Надо как минимум конвертировать сишный заголовочный файл в паскалевский модуль, желательно при этом не наделать ошибок. А для удобного использования неплохо бы создать объект.
Цитировать
Единственная другая библиотека для Дельфи, которую я знаю, содержит древнюю PCRE 6.7. А эта четко в ногу со временем идет.
Заметь при этом первая бесплатная, а вторая - коммерческая.
Я знаю кроме DIRegEx еще две бесплатные обертки для PCRE:
http://www.regular-expressions.info/delphi.html
http://www.renatomancuso.com/software/dpcre/dpcre.htm
Первая прилинковывает объектные файлы, а вторая использует dll. Но обе насколько я знаю года 2-3 не обновлялись.
В обсуждение того, какой язык или среда программирования лучше вступать здесь не буду. Здесь это будет оффтопом и особого смысла не имеет поскольку обсужалось много и подробно в других местах.
« Последнее редактирование: 25 июня 2007, 12:50:16 от mai62 » Сообщить модератору   Записан
Михаил
Gold beta tester
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #12 : 25 июня 2007, 13:58:20 »

А ты не заметил, что компонента DIRegEx небесплатная и ее версию не возьмешь какую хочется?
Только не понял толком: ограничений при беплатном скачивании нет и оплата добровольная? Либо в скачиваемом варианте какие-то ограничения имеются? Мутно как-то про все это написано.
Если уж совсем никак, 600 руб., думаю, наскребем сообща. Сомневаюсь, что кто-то на форуме возьмется перевести PCRE с С на Дельфи.
« Последнее редактирование: 25 июня 2007, 14:09:50 от Михаил » Сообщить модератору   Записан
mai62
Автор HC
*****

Репутация: +226/-4
Offline Offline

Сообщений: 6383


« Ответ #13 : 25 июня 2007, 14:49:07 »

Я не знаю где ты читал. Для бесплатного скачивания доступна триальная версия, она само собой с какими-то ограничениями. Версия без исходников стоит 25 евро, с исходниками 75. И еще одна пробема: я не знаю как им платить, видимо нужна карточка.
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #14 : 26 июня 2007, 10:39:26 »

она само собой с какими-то ограничениями.
Я понял так, что свободно скачиваемый вариант полностью работоспособен и не содержит ограничений. Использовать его можно для ознакомительных целей вовсю. А вот когда наступает момент распространения ПО, использующего библиотеку (как раз наш случай), вот тут просят проявить сознательность и заплатить.
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #15 : 03 января 2009, 21:21:59 »

Наткнулся на ошибку PCRE, которая исправлена в версии 7.7. Т.е. НС использует более старую версию библиотеки. Хорошо б обновиться до 7.8.
Сообщить модератору   Записан
mai62
Автор HC
*****

Репутация: +226/-4
Offline Offline

Сообщений: 6383


« Ответ #16 : 04 января 2009, 18:05:57 »

Надо посмотреть получится ли? Если позволит прокладка делфийская.
Сообщить модератору   Записан
lev
Гость
« Ответ #17 : 04 сентября 2011, 13:28:19 »

--------------------------
в черном списке правило weblinks\.ru/.*/(\d*\w*)+/.*/(?1) должно блокировать на weblinks.ru много картинок но не блокирует ни одной
Сообщить модератору   Записан
mai62
Автор HC
*****

Репутация: +226/-4
Offline Offline

Сообщений: 6383


« Ответ #18 : 04 сентября 2011, 15:35:02 »

Какие Вы имеете основания называть список глючным, если у Вас не работает какое-то правило? Да и это под вопросом.
Откуда Вы взяли это правило? Возможно оно было написано для других URL. Приведите пример URL rfhnbyrb? который не блокируется.
Сообщить модератору   Записан
lev
Гость
« Ответ #19 : 04 сентября 2011, 15:40:35 »

основание - неработа конкретного правила думаю достаточное
вот как пример адрес один из многих который не блокирует
weblinks.ru/upload/90/f4/76/5944/b9a7338a.jpg
Сообщить модератору   Записан
Страниц: [1] 2  Все   Вверх
  Отправить эту тему    Печать  

 
Перейти в: