10001.000.01.01-A-AB
- 我需要以下列格式编写正则表达式。这是照顾,直到数字十进制需要添加字符
/^\d{4,6}(\.\d{3})(\.\d{2}(\.\d{2})?(\.\d{2})?)?$/
0001.000-A
0001.000.01-A
0001.000.01.01-A
0001.000.01.01-A-AB
10001.000.01.01-A-AB
非常感谢任何帮助。
答案 0 :(得分:1)
好像你可以使用
^\d{4,6}\.\d{3}(?:\.\d{2}(?:\.\d{2})?(?:\.\d{2})?)?(?:-[A-Z]+(?:-[A-Z]+)?)?$
请参阅regex demo
<强>详情
^
- 字符串开头\d{4,6}
- 4到6位\.\d{3}
- .
和3位(?:\.\d{2}(?:\.\d{2})?(?:\.\d{2})?)?
- 可选的组匹配
\.\d{2}
- 一个点和2位数字(?:\.\d{2})?
- .
和2位(?:\.\d{2})?
- 同上。(?:-[A-Z]+(?:-[A-Z]+)?)?
- 一个可选的非捕获组,匹配1或0次出现:
-
- 连字符[A-Z]+
- 一个或多个ASCII大写字母(?:-[A-Z]+)?
- 可选序列:
-
- 连字符[A-Z]+
- 一个或多个ASCII大写字母$
- 字符串结尾