正则表达式匹配特定字符串

7 regex asp.net

RegEx一直是我的阿基里斯脚跟.我正在编写网络应用程序,用户将输入他的标识符.我RegexValidator用来验证这个输入.

标识符应该是这样的:

TN-In-PL-KW-2012-1234
Run Code Online (Sandbox Code Playgroud)

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

  • 前两个字母总是 TN
  • 其次是连字符
  • 然后两个字母,即要么是:In,Te,Yo或者Et
  • 连字符号
  • 两个大写字母
  • 另一个连字符
  • 另外两个大写字母
  • 连字符号
  • 四位数,即一年,所以在1970年到2012年之间(只要有4位数,我可以忽略它)
  • 连字符号
  • 序号,可以是1到4位数

请帮我写RegEx以匹配此标识符.

jor*_*hmv 7

^TN-(In|Te|Yo|Et)-[A-Z]{2}-[A-Z]{2}-\d{4}-\d{1,4}$
Run Code Online (Sandbox Code Playgroud)

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