我有一个像010000200000, 000000200000, 020000200000
. 我想为此创建正则表达式,并想检查前 2 位数字是否仅为 01,00 和 02。其余数字应仅来自 [0-6]。
我不想在这个字符串中有任何空格或任何特殊字符。我尝试了一些在线可用的正则表达式,但并没有完全帮助我。
如果有人有任何想法,请提供帮助。
这应该根据您的要求解析它们。
java.util.regex.Pattern.matches("0[012][0-6]+", "010000200000");
第一个字符始终是 0,后跟 1 个字符,即 0、1 或 2,然后是 0-6 范围内的至少 1 个字符。
直截了当
"0[012][0-6]*"
从 0 开始,然后是 0、1 或 2,然后是 0 到 6 之间的任意数量的数字。
java.util.regex.Pattern.matches("0[0-2]{1}[3-6]{10}", "015453356543")
这正是需要的正则表达式...是吗?
怎么样0[0-2][0-6][0-6][0-6][0-6][0-6][0-6][0-6][0-6][0-6][0-6]
?显然我猜你需要一个固定长度的 12 个字符的字符串,否则0[0-2][0-6]+
就可以了。