Ho una domanda d'esame che non sono sicuro della risposta. La domanda è:
In organisation X valid user names have the following structure. The user name can be either the employee’s name followed by a colon and then the department name or a string of one or more alphanumeric letters consisting of lower case, upper case letters and digits from 0 to 9. All user names end with a period ("."). The employee’s name is expressed as first name followed by an underscore and then the surname. The first name and the surname must begin with an uppercase letter and is followed by an arbitrary number of lower case letters. All department names are an arbitrary number of lower case letters. Express the language for valid user names as a regular expression.
La risposta che ho è
[A-Z][a-z]+"_"[A-Z][a-z]+":"[a-z]+"." | [A-Za-z0-9]+"."
La prossima domanda è:
Construct a deterministic finite state automaton for recognising the user names as described in Question 1.
Per cui ho questo:
Ho l'impressione che questo sia sbagliato perché [A-Z] è un sottogruppo di [A-Za-z0-9] e un DFA non può avere lo stesso simbolo che va da uno stato. Qualcuno ha un'idea su come risolvere questo / è corretto?
Grazie!