3

我需要员工 ID 的标准正则表达式,例如

EMP015
015EMP
EMP_015
E_015
EMP-015
EMP.VIS
EMP/056 

基本上它应该允许._-/在字母数字字符之间

条件:

  1. 第一个字符不应该是.or _or -or/
  2. 员工 ID 的长度应为 50 个字符。
4

2 回答 2

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
于 2012-12-28T14:32:29.630 回答
0

以我的经验,如果你能明确地解释格式,正则表达式并不难写。我将对格式做出一些假设,如果我错了,请纠正我。

  1. 格式由两部分组成
  2. 其中一个部分是以字母 E 开头的大写字母字符串,长度未知
  3. 另一部分是一系列字母数字字符。
  4. 零件可以按任何顺序排列
  5. 这些部分可以用单个., _, -,分隔/
  6. 零件可能根本没有分开

鉴于这些,一个(相当冗长的)正则表达式可能是:

^(E[A-Z]*[._\-/]*[0-9A-Z]+)|([0-9A-Z]+[._\-/]*E[A-Z]*)$
于 2012-12-28T14:36:03.690 回答