0

Google で私のソリューションを検索し、最終的にここに質問を投稿することにしました。

私の要件は、入力として AC および R 文字のみを送信することであり、渡される文字列の最大長は 6 文字を超えてはなりません。

有効な状態は次のとおりです。

A、C、R、

アーク、

R、A、C、

R、C、A、

C、R、A、

車、

R、C、

C、R、

あ、あ、

R、C、

あ、

……

等々。A、C、R のすべての組み合わせが可能ですが、最大長が 6 文字を超えてはなりません。

これまでのところ、 ([ACR],)+ のようなパターン検証を実行できましたが、同じ正規表現でサイズ検証も実行したいと考えています。

だから今のところ、私は次のような条件を使用しています

if(!status.matches("([ACR],)+") || status.length()>6){
SOP
}

このサイズの実装は、複数のメソッドで使用する必要があります。

事前に感謝します。

4

2 に答える 2

1

これはうまくいくはずです:

([ACR],){1,3}
于 2012-04-24T09:25:07.133 に答える
0

この正規表現では、パターンを 1 ~ 3 回繰り返すことができます (この場合、パターンはドット、つまり任意の文字です)。

.{1,3}

ドットを任意の正規表現に置き換えます。あなたの場合([ACR],)

言い換えると: をに置き換え+ます{1,3}

于 2012-04-24T09:26:01.313 に答える