员工ID的标准正则表达式
我需要像Employeed ID的标准正则表达式
EMP015 015EMP EMP_015 E_015 EMP-015 EMP.VIS EMP/056
基本上它应该允许.
或_
或-
或/
在/中间的字母数字字符
条件:
- 第一个角色不应该
.
或_
或-
或/
- 员工ID长度应为50个字符。
尝试将此用于正则表达式模式:
@"^[AZ\d]{1}[AZ\d._/\-]{49}$"
示例代码:
Regex oRegex = new Regex(@"^[AZ\d]{1}[AZ\d._/\-]{49}$"); oRegex.IsMatch("EMP_01512312312312/31-2312.31231231231322222222222"); // true
根据我的经验,如果您可以明确地解释格式,那么正则表达式并不难写。 我会对格式做出一些假设,如果我错了,请纠正我。
- 格式由两部分组成
- 其中一个部分是一个以字母E开头的大写字母字符串,长度未知
- 另一部分是一系列字母数字字符。
- 零件可以按任何顺序排列
- 部件可以单独分开
.
,_
,-
,/
- 部件可能根本不分开
鉴于这些,(一个相当冗长的)正则表达式可能是:
^(E[AZ]*[._\-/]*[0-9A-Z]+)|([0-9A-Z]+[._\-/]*E[AZ]*)$