3

ここでは、0 ~ 6 個の数字のみを含む文字列の regx を作成します。この文字列には、そのような 0 ~ 6 個の数字が含まれています。

 Example-1 : "010002030405" Valid String

この文字列には 0 ~ 6 個の数字しか含まれていないため、ここではこの regx を使用しまし"[0-6]*"た。しかし、この文字列でもう1つ検証したいのは、奇数の位置でのみ0が必要であり、1〜6が奇数の位置にあることは決してないということです。0 は奇数と偶数の両方に配置できますが、1 ~ 6 は偶数の位置にのみ配置されます。

ここで、有効な文字列と無効な文字列の例をいくつか示しました

Valid : 000102000004
invalid : 0023015006

ここで私はこのコードを使用しました 以下の検証を満たすために正規表現で何を変更する必要があるかを提案するか教えてください

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();
}
4

1 に答える 1

7

これを試したことはありませんが、うまくいくかもしれません:

(0[0-6])*0?
于 2012-12-10T05:41:45.503 に答える