如何在java中使用正则表达式验证字符串

如何在java中使用正则表达式验证字符串,java,android,regex,string,validation,Java,Android,Regex,String,Validation,这里我想为只包含0到6个数字的字符串创建regx。 这个字符串包含0到6个这样的数字 Example-1 : "010002030405" Valid String 这个字符串只包含0到6个数字,所以我在这里使用了这个regx“[0-6]*”。但我想在这个字符串中验证的另一件事是,我只希望0在奇数位置1-6不会在奇数位置上,永远不会。0可以放在奇数和偶数位置,但1-6只能放在偶数位置 这里我给了你一些有效和无效的字符串示例 Valid : 000102000004 invalid : 002

这里我想为只包含0到6个数字的字符串创建regx。 这个字符串包含0到6个这样的数字

 Example-1 : "010002030405" Valid String

这个字符串只包含0到6个数字,所以我在这里使用了这个regx
“[0-6]*”
。但我想在这个字符串中验证的另一件事是,我只希望0在奇数位置1-6不会在奇数位置上,永远不会。0可以放在奇数和偶数位置,但1-6只能放在偶数位置

这里我给了你一些有效和无效的字符串示例

Valid : 000102000004
invalid : 0023015006
这里我使用了这段代码,请建议我或告诉我我必须在我的regx中更改什么以满足下面的验证

1) String contains only 0-6 numbers nothing else.
2) 1-6 would be only even positions only they would not be at odd position ever, 0 would be odd and even position.
代码:

public boolean isOptions(String input) {
    String patternString = "[0-6]*";
    Pattern pattern = Pattern.compile(patternString);
    return pattern.matcher(input).matches();
}

尚未尝试此方法,但可能有效:

(0[0-6])*0?

“我只希望0位于奇数位置1-6将永远不会位于奇数位置。0可以位于奇数和偶数位置”你只希望0位于奇数位置,而0可以位于奇数和偶数位置,这不是有点矛盾吗?你真的打算在这里使用正则表达式吗?我认为简单的循环和检查应该更容易。这将有助于实现您试图实现的逻辑build@Shreya:那不是也和“022222222”匹配吗?@Hyperboreus抱歉我的错。我想要0在偶数和奇数位置,1-6只在偶数位置。如何确保1-6只在偶数位置?因为首先是0,然后是0和6之间的任何东西。冲洗并重复(此模式为两位数)。然后可能会添加一个最后的0。@Hyperboreus谢谢你能给我解释一下这个正则表达式吗?这个表达式匹配所有有0或更多次“0”后跟一个介于0和6之间的数字的字符串;也许是一个尾随的0。@Hyperboreus好的,我知道了,非常感谢