7

RegEx 一直是我的致命弱点。我正在编写网络应用程序,用户将在其中输入他的标识符。我RegexValidator用来验证这个输入。

标识符应该是这样的:

TN-In-PL-KW-2012-1234

这就是标识符的构建方式:

  • 前两个字母总是TN
  • 后跟连字符
  • 然后是两个字母,它们是:In、、TeYoEt
  • 连字符
  • 两个大写字母
  • 另一个连字符
  • 另外两个大写字母
  • 连字符
  • 四位数字,即一年,所以介于 1970 年和 2012 年之间(只要有 4 位数字,我就可以忽略它)
  • 连字符
  • 可以有 1 到 4 位数字的序数

请帮助我编写正则表达式以匹配此标识符。

4

3 回答 3

7
^TN-(In|Te|Yo|Et)-[A-Z]{2}-[A-Z]{2}-\d{4}-\d{1,4}$

就像评论一样,如果您想提高您的正则表达式技能,我建议您使用Rubular,这是一个简单实用的页面,当您需要使用正则表达式时,请牢记

于 2012-07-05T21:37:03.443 回答
2

TN-(In|Te|Yo|Et)-([A-Z]{2}-){2}(19[7-9][0-9]|200[0-9]|201[0-2])-[0-9]{1,4}

于 2012-07-05T21:39:57.560 回答
1
TN-((In)|(Te)|(Yo)|(Et))-[A-Z]{2}-[A-Z]{2}-\d{4}-\d{1,4}
于 2012-07-05T21:35:14.723 回答