我希望第三种模式([0-9] {2})小于10或10.我也试过[1-9] | 0 [0-9] | 1 [0-0]模式而不是[0-9] {2}但无法得到解决方案。我希望得到以下格式的结果:012 550 10 0123456 01.
public static void main(String args[]){
System.out.println(Pattern.matches("[0-9]{3}[550]{3}[0-9]{2}[0-9]{6}[01]{2}", "8035501002499901"));
}
答案 0 :(得分:0)
从您的问题来看,您想要的模式似乎就是这样:
[0-9]{3}
)550
) - 请注意[550]{3}
表示3位数字的任意序列,例如5或0,例如005,050,555等(?:0[0-9]|10)
)[0-9]{6}
)01
) - [01]{2}
表示任意2位数的序列,如0或1,例如00,01,10和11都匹配因此你需要的正则表达式是:
[0-9]{3}550(?:0[0-9]|10)[0-9]{6}01