员工ID的标准正则表达式

时间:2012-12-28 14:22:18

标签: c# asp.net .net regex

我需要像

这样的员工ID的标准正则表达式
EMP015
015EMP
EMP_015
E_015
EMP-015
EMP.VIS
EMP/056 

基本上它应允许{-1}}或._-字母之间的数字字符

条件:

  1. 首字母不应为/._-
  2. 员工ID的长度应为50个字符。

2 个答案:

答案 0 :(得分:5)

尝试将此用于正则表达式模式:

@"^[A-Z\d]{1}[A-Z\d._/\-]{49}$"

示例代码:

Regex oRegex = new Regex(@"^[A-Z\d]{1}[A-Z\d._/\-]{49}$");
oRegex.IsMatch("EMP_01512312312312/31-2312.31231231231322222222222"); // true

答案 1 :(得分:0)

根据我的经验,如果您可以明确地解释格式,那么正则表达式并不难写。我会对格式做出一些假设,如果我错了,请纠正我。

  1. 格式由两部分组成
  2. 其中一个部分是以字母E开头的大写字母字符串,长度未知
  3. 另一部分是一系列字母数字字符。
  4. 零件可以按任何顺序
  5. 部分可以由单个._-/
  6. 分隔
  7. 部件可能根本不会分开
  8. 鉴于这些,一个(非常详细的)正则表达式可能是:

    ^(E[A-Z]*[._\-/]*[0-9A-Z]+)|([0-9A-Z]+[._\-/]*E[A-Z]*)$