科目代码的正则表达式问题

分享  收藏
3 / 262

2212-1a-305b
这是科目代码,其编码规则是:

  1. 科目代码可以是数字、字母、“-”,但是 1 级代码一定是数字。字母不区分大小写,并将大写字母一律转换成小写
  2. “-”是分隔符号,表示不同的级别,例如上面的示例代码是 3 级科目
  3. 每级代码不限制长度,但是总长度(包括“-”在内)不超过 60 个字符
  4. 如果还可以自定义的话,要能够检查出表中是不是已经有了上级代码(这个能够实现吗)

求这个规则的正则表达式或者解决方法