我需要构建一个正则表达式来检查发票号,如下所示:FV/1024/02/2018
FV
- 总是使用FV没什么不同1024
- 发票的下一个数字 - 始终以" 1"接下来的三个数字不同[0-9]
02
- 月 - 始终在1-12号2018
- 一年Pattern pattern = Pattern.compile("([FV])/((1)[0-9]{3})/([0,1]{1}[0-9]{1})/([0-9]{4})");
我知道......"某事"错了...
答案 0 :(得分:1)
这应该有效
FV\/1\d{3}\/(:?(:?0[1-9])|1[0-2])\/\d{4}
FV\/
匹配第一个,常量部分(FV/
)字符串1\d{3}\/
是发票号码 - 从1开始,后跟3位数字(:?(:?0[1-9])|1[0-2])
是一个月号
(:?0[1-9])
从01
到09
或1[1-2]
从10
到12
\/\d{4}
是大刀阔斧的一年,例如/2018
答案 1 :(得分:0)
答案 2 :(得分:0)
这应该有效(它与您给定的发票号码相符:' FV / 1024/02/208'):
FV\/(1[0-9]{3})\/([0-9]{2})\/([0-9]{4})
发票编号,每年一个月都有自己的组。