首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >员工ID的标准正则表达式

员工ID的标准正则表达式
EN

Stack Overflow用户
提问于 2012-12-28 14:22:17
回答 2查看 1.9K关注 0票数 3

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

代码语言:javascript
复制
EMP015
015EMP
EMP_015
E_015
EMP-015
EMP.VIS
EMP/056 

基本上,它应该允许._-/介于alpha-数字字符之间。

条件:

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

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-28 14:32:29

尝试将此用于regex模式:

代码语言:javascript
复制
@"^[A-Z\d]{1}[A-Z\d._/\-]{49}$"

样本代码:

代码语言:javascript
复制
Regex oRegex = new Regex(@"^[A-Z\d]{1}[A-Z\d._/\-]{49}$");
oRegex.IsMatch("EMP_01512312312312/31-2312.31231231231322222222222"); // true
票数 5
EN

Stack Overflow用户

发布于 2012-12-28 14:36:03

根据我的经验,如果可以显式地解释格式,正则表达式就不难编写。我会对格式做一些假设,如果我错了,就纠正我。

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

有鉴于此,一个(相当冗长的)正则表达式可以是:

代码语言:javascript
复制
^(E[A-Z]*[._\-/]*[0-9A-Z]+)|([0-9A-Z]+[._\-/]*E[A-Z]*)$
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14070904

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档