nlothik (nlothik) wrote,
nlothik
nlothik

Category:

Построитель регулярных выражений

Я думал-думал, и наконец, придумал.

Если вспомнить то, чему меня учили в университете, то проблема решается элементарно -- через метод построения конечных автоматов.

Каждый автомат, построенный программой, и будет представлять собой регулярное выражение. Чем больше в автомате состояний и меньше переходных функций, не изменяющих состояние автомата, тем более ленивым будет полученное регулярное выражение. И наоборот -- если в автомате минимум состояний и максимум переходных функций, то регулярное выражение будет жадным. На выходе, соответственно, получим несколько автоматов -- от автомата, который ловит решительно всё (ему будет соответствовать регулярное выражение /.*/) до автомата, который отлавливает только то, что ему было дано на вход. Оценивая репрезентативность выборки, человек будет делать решение по поводу того, какой автомат наиболее полно соответствует его или её задачам.

И всё равно не верю, что я единственный человек, который до такого додумался. Но гугление на данную тему не дало решительно ничего (кроме диссеров, и то в основном для эволюционных алгоритмов -- т.е. не мои задачи вообще).
Tags: программирование, работа, учёба, чесать репу
Subscribe

  • Про лечение ковидлы

    Был у доктора, простой ежегодный визит. Доктор меня спросил, болел ли я ещё ковидлой. –Пока везло, не болел плюс привит. –Что…

  • Политический кофе

    Вот есть такое распространённое и распропагандированное (вполне известно кем) понимание капитализма как системы, построенной на жажде наживы и…

  • Не всё так плохо

    Моя гневная телега по поводу национальных особенностей преподавания математики в начальной школе получила довольно простой ответ: дети всё же умеют…

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments