员工ID的标准正则表达式

本文关键字:正则表达式 标准 ID 员工 | 更新日期: 2023-09-27 17:49:41

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

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

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

条件:

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

员工ID的标准正则表达式

尝试将此用于您的regex模式:

@"^[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. 格式由两部分组成
  2. 其中一个部分是以字母E开头的大写字母字符串,长度未知
  3. 另一部分是一系列字母数字字符。
  4. 部件可按任意顺序排列
  5. 部件可以通过单个., _, -, /分开
  6. 部件可能根本不分离

给定这些,一个(相当冗长的)正则表达式可以是:

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