Организовать поддержку нотаций PCRE, ereg и других популярных вариантов записи регулярных выражений

Issue #49 closed
Oleg Sychev repo owner created an issue

Originally reported on Google Code with ID 49

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

Текущие виды нотации:
* нативная (слегка модифицированная PCRE для уменьшения вероятности ошибок и устранения
контекстной зависимости) - поддерживается всеми собственными матчерами
* PCRE - поддерживается PHP preg matcher, строгая нотация PCRE
* Moodle Shortanswer - обычная строка и * как любое количество любых символов - легко
преобразовать экранированием служебных символов и заменой неэкранированных * на .*
 Поддержка этой нотации позволит сделать preg строгим надмножеством для shortanswer.
* другие формы записи (* и ?, ereg-нотация, flex-нотация и т.д.)

Различные матчеры могут поддерживать различные нотации. Код нотаций должен обеспечивать
преобразование между ними.

Reported by oasychev on 2011-11-11 17:53:25

Comments (5)

  1. Oleg Sychev reporter

    ``` К релизу 2.1 желательно сделать общую структуру нотаций и поддержку Moodle shortanwer нотации в дополнение к нативной. ```

    Reported by `oasychev` on 2011-11-11 17:54:03 - Labels added: Milestone-Release2.1

  2. Oleg Sychev reporter

    ``` Реализована поддержка нативной и Moodle Shortanswer нотаций.

    PCRE откладывается до следующего релиза - это не срочно. ```

    Reported by `oasychev` on 2011-11-19 16:48:27 - Labels removed: Milestone-Release2.1

  3. Oleg Sychev reporter

    ``` нотация PCRE strict - необходимо вставлять \ перед квантификаторами в начале строки или после различных форм открывающихся круглых скобок... ```

    Reported by `oasychev` on 2012-07-20 17:38:24

  4. Oleg Sychev reporter
    Я думаю, существующих нотаций пока хватит - только запутаем пользователя.
    

    Reported by oasychev on 2013-09-07 20:08:22 - Status changed: Done

  5. Log in to comment