Показано с 1 по 3 из 3

Тема: ОТ: утилита для тестирования регулярных выражений.

  1. #1
    klirik
    klirik вне форума
    Участник
    Регистрация
    16.02.2003
    Сообщений
    180

    ОТ: утилита для тестирования регулярных выражений.

    ("Зеркало" сообщения с bayesit-list@nobat.ru)

    Лист (bayesit-list@nobat.ru) является первоисточником публикации данного вложенного файла и сопровождающего его текста. При публикации в других местах прошу сохранять упоминание первоисточника.

    Я вплотную занялся корректностью файла регулярных выражений для "выборочного" скачивания (selective.txt). Для этого потребовалась утилита, которая обеспечила бы удобную отладку регулярных выражений. Поиск привёл только к программе TestRExp, написанной на Delphi, которая работает с собственной (встроенной) библиотекой регулярных выражений (порт Pcre на Delphi). Однако эта программа имеет ряд существенных недостатков. Во-первых, она иногда "вылетает" на хитрых выражениях. Во-вторых, она немного устарела, и некоторые довольно существенные части спецификации PCRE на ней уже не работают (например, предположения (assertions) выдают ошибку синтаксиса, хотя они должны поддерживаться, а также не работают именованные подвыражения). К тому же сама программа имеет скорее "демонстрационный" характер, и как специализированная утилита может рассматриваться весьма ограниченно.

    В результате я написал собственную утилиту для тестирования регулярных выражений, которую вы можете найти во вложении. (также она доступна в виде архива по адресу [ https://www.ritlabs.com/download/bayesit/pcrecheck.rar ], в
    этом архиве помимо утилиты находится и сама библиотека PCRE.dll).

    Утилита обеспечивает следующую функциональность:

    1). Работа непосредственно с pcre.dll (т.е. используется _внешняя_ библиотека, а не встроенная) - а значит, можно тестировать возможности библиотеки, а не утилиты.
    2). Проверка синтаксиса выражений непосредственно в процессе их набора.
    3). Возможность получить полную информацию о регулярном выражении (всё, что возвращает pcre.dll в функции pcre_fullinfo).
    4). Возможность работы с любыми "национальными" текстами за счёт возможности явно указать нужную локаль.
    5). Возможность загружать текст выражения и текста для проверки из внешнего файла в форматах .txt, .rtf, .doc (MS Word).
    6). Полноценная работа с именованными подшаблонами (что это такое? Например, в выражении "Мама (?P<my_name>мыла) раму" к первому подшаблону можно обращаться как по номеру (1), так и по имени ("my_name")).
    7). Возможность подсветки найденных шаблонов другим цветом.
    8). Для подшаблонов - отображение списка найденных подшаблонов в отдельном плавающем окне.
    9). Размер утилиты (даже вместе с библиотекой PCRE.dll) минимум в 4 раза меньше, чем упомянутой в начале утилиты, написанной на Delphi.

    В немного изменённом виде эта утилита войдёт в состав следующей версии bayesit как встроенный отладчик выражений для ч/б списков.

  2. #2
    poiuytr
    poiuytr вне форума
    Участник
    Регистрация
    27.02.2003
    Сообщений
    98

    Re:ОТ: утилита для тестирования регулярных выражений.

    Цитата Сообщение от klirik
    9). Размер утилиты (даже вместе с библиотекой PCRE.dll) минимум в 4 раза меньше, чем упомянутой в начале утилиты, написанной на Delphi.
    Для работы утилита pcrechecker требует наличия в системе MFC42.DLL и MSVCRT.DLL, вместе они весят около 1Мб, хотя зачастую они уже присутствуют в системе. А в утилиту на delphi библиотеки классов влинкованы. Отсюда разница в размере диструбутивов. Мне кажется некорректно сравнивать размеры без учета используемых библиотек классов.

  3. #3
    klirik
    klirik вне форума
    Участник
    Регистрация
    16.02.2003
    Сообщений
    180

    Re:ОТ: утилита для тестирования регулярных выражений.

    Эта разница скорее из разряда т.н. "священных войн" (holy war). . VCL не поддерживается в Windows по умолчанию, а вот "родные" продукты - да. Утилита будет работать даже на "голой" Windows 98 - поскольку всё необходимое там уже есть. Насчёт 95 - не знаю, там может и не будет, но это не суть важно. И ещё не будет под Win XP Preinstallation Environment - там в "родном" варианте нет msvcrt.

    Кстати, ради интереса перекомпилировал со static mfc - получилось 88кб.

Похожие темы

  1. Синтаксис регулярных выражений
    от McFly в разделе The Bat!: вопросы и ответы
    Ответов: 2
    Последнее сообщение: 15.10.2004, 10:07
  2. Утилита для показа .lst-файлов
    от klirik в разделе Антиспам плагин BayesIt
    Ответов: 0
    Последнее сообщение: 30.03.2004, 16:50
  3. Утилита для работы с базой BayesIt!
    от JJF в разделе Антиспам плагин BayesIt
    Ответов: 1
    Последнее сообщение: 03.03.2004, 18:34
  4. о регулярных выражениях в TB
    от Dik в разделе The Bat!: вопросы и ответы
    Ответов: 1
    Последнее сообщение: 29.12.2003, 14:53
  5. Язык регулярных выражений
    от colonia в разделе The Bat!: вопросы и ответы
    Ответов: 5
    Последнее сообщение: 14.10.2003, 12:34