nlothik (nlothik) wrote,
nlothik
nlothik

Category:

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

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

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

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

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

  • Так и не понял, что это

    Попробовал во второй раз купить что-то на Алиэкспрессе. Первый раз мне как-то не понравился, но ладно. Купил лабораторный блок питания, он мне…

  • Про работу

    …или проблемы первого мира. Почти нашёл новую работу, архитектором облачных решений. Зарплата — весьма. Во всяком случае, прошёл три…

  • Кибержульё и азбука Морзе

    Забавное будет нынче сочетание тегов — “73” и “жулики”. Кибержульё использует словарь с азбукой Морзе чтобы прятать…

  • 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