2015-06-05 2 views
4

Я хотел бы знать, где его можно создать регулярное выражение из естественного языка в Java. Чтобы объяснить это, позвольте мне привести пример использования.Создать регулярное выражение из естественного языка

Поддержка Я хочу проверить, соответствует ли следующая строка в правильном формате или нет.

"aaaa-bbbb-cccc" 

Бизнес определение правильной строки в этом случае выглядит следующим образом:

4 letters, then hyphen, then 4 letters, then hyphen, then 4 letters. 

Обычный способ реализовать это, чтобы получить требование от бизнеса и написать регулярное выражение, соответственно. Но мне любопытно узнать, доступны ли библиотеки для создания регулярного выражения с естественного языка. Чтобы мы могли попросить бизнес предоставить форматы таким образом, чтобы они также могли понять.

+2

вы можете использовать компилятор компилятора, такой как ANTLR, YACC и т. Д. Это даст вам большую гибкость. –

+0

Вы можете реализовать относительно простой DSL с помощью шаблона построителя –

+2

В общем, очень сложной задачей является создание «естественного языка» для написания любой строгой спецификации. Люди написали кандидатские диссертации по этим предметам. – DJClayworth

ответ

0

Возможно, вы захотите ознакомиться с механизмами бизнес-правил, доступных для Java: Drools, Jess, EasyRules. В механизме бизнес-правил вы можете определить требования (правила), которые вы получаете от бизнеса, а затем проверить входящие данные (факты) на них.

+0

Это может работать в описанном случае, но это не регулярное выражение. Может ли ОП разъяснить необходимость регулярного выражения? –

Смежные вопросы