2015-01-29 4 views
0

Я хочу проверить адрес электронной почты, используя конечный автомат. Я знаю, что есть другие способы сделать это, как использование регулярного выражения, но я хочу знать, может ли это быть сделано с помощью конечного автомата.Проверка подлинности электронной почты с использованием перечислений в java или конечном автомате

Любого пример образца или хороший указатель в правильном направлении будет оценен

+0

Вы имеете в виду что-то вроде ... каждый символ, прочитанный, является событием и перейдет к следующему состоянию до достижения конечного состояния? –

+0

Statemachines не предназначены для проверки значений. Они предназначены для рабочих процессов. – Jens

+0

Да что-то вроде этого. Просто предположим, что мы не можем использовать регулярное выражение или шаблонный шаблон, и нам нужно проверить шаблон электронной почты. Тогда как мы должны это делать. – unknown

ответ

1

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

Итак, если у вас есть регулярное выражение, которое соответствует всем адресам электронной почты и ничего больше, вы можете построить конечный автомат, который принимает все адреса электронной почты и отклоняет все остальное.

Для получения более подробной информации см. Wikipeda: Deterministic finite automaton.