正则表达式强制特殊标题格式

时间:2015-05-25 13:18:58

标签: javascript regex angularjs

我使用AngularJS / javascript以特殊格式强制标题,标题应采用格式

C#[##]-DW##-MP###[-D][d] // Format cabinets
B#[##]-FD###-FL###[-D][d] // Format boxes
T#[##]-MP###[-D][d] // Format tubes

到目前为止我尝试的是以下内容: C\d\[\d\d\]-[A-Z]W\d\d-MP\d{3}\[-[A-Z]\]\[[a-z]\]

但是使用上面的正则表达式,我无法让匹配的群体工作。

我用来构建模式的要求如下:

  • []中的字符是可选的
  • d - 变量小写字母字符
  • D - 变量大写字母字符
  • # - 如果位数小于连续符号数,则带有前导零的可变数字字符。

感谢任何帮助。

编辑:结果我需要使用3个表达式,如此

T\d\[\d{2}\]-MP\d{3}\[-[A-Z]\]\[[a-z]\]

Regular expression visualization

Debuggex Demo

C\d\[\d{2}\]-[A-Z]W\d{2}-MP\d{3}\[-[A-Z]\]\[[a-z]\]

Regular expression visualization

Debuggex Demo

T\d\[\d{2}\]-MP\d{3}\[-[A-Z]\]\[[a-z]\]

Regular expression visualization

Debuggex Demo

1 个答案:

答案 0 :(得分:1)

您可以使用以下内容:

对于C:

\d\[\d{2}\]-[A-Z]W\d{2}-MP\d{3}\[-[A-Z]\]\[[a-z]\]

对于B:

\d\[\d{2}\]-F[A-Z]\d{3}-FL\d{3}\[-[A-Z]\]\[[a-z]\]

对于T:

\d\[\d{2}\]-MP\d{3}\[-[A-Z]\]\[[a-z]\]