【发布时间】:2017-11-03 02:45:41
【问题描述】:
我需要创建一个正则表达式来验证密码,然后用它创建一个 DFA。 这些集合是:
a = {a,...,z}
| A = {A,...,Z}
| d = {0,...,9}
标准是:
必须以字母开头(大小写无关)。
|必须至少包含 1 个大写字母。
|必须至少包含 1 个小写字母。
|必须包含至少 1 个数字。
到目前为止,我使用了以下正则表达式:
(aa\*(AA\*a\*dd\*|dd\*a\*AA\*)|AA\*(aa\*A\*dd\*|dd\*A\*aa\*))(a|A|d)\*
对吗?
【问题讨论】:
-
这是一个理论问题。它根本没有独特的方言,它是一个通用的正则表达式。另外,这是一个真正集思广益的家庭作业>_<.>
-
您不必构建所有的交替。使用前瞻。