Я читал идею проекта Java описанную здесь:
Пользователь дает примеры того, чего он хочет и не хочет сопоставлять. Программа пытается вывести регулярное выражение, соответствующее примерам. Затем он генерирует примеры, которые подходят и не подходят. Пользователь исправляет примеры, которые он ошибался, и он создает новое регулярное выражение. Итеративно вы получаете регулярное выражение, которое достаточно близко к тому, что вам нужно.
Это звучит для меня действительно интересная идея. Кто-нибудь имеет представление о том, как это сделать? Моя первая идея была чем-то вроде генетического алгоритма, но мне бы хотелось, чтобы вы приняли участие от вас, ребята.