私は次のような文字列を持っています
int
int[]
char[]
int[][]
char**
int*
etc
これに一致する正規表現が必要です。私が思いついた最高のものは
[a-zA-Z]+(\[\])?(\*)?
これは
int
int[]
char[]
int[]
int*
char*
しかし、検証int[]*
も検証しませんint[][]
。
int
、char
などは重要ではなく、単なる例です。
私は次のような文字列を持っています
int
int[]
char[]
int[][]
char**
int*
etc
これに一致する正規表現が必要です。私が思いついた最高のものは
[a-zA-Z]+(\[\])?(\*)?
これは
int
int[]
char[]
int[]
int*
char*
しかし、検証int[]*
も検証しませんint[][]
。
int
、char
などは重要ではなく、単なる例です。
試す:
[a-zA-Z]+((\[\])+|(\*)+)?
|
演算子は「OR」を意味します。次に、+
演算子は「前の 1 つまたは複数」を意味します。したがって、正規表現は「いくつかの文字、次にオプションで (1 つ以上[]
の s) OR (1 つ以上*
の s)」を意味します。
に置き換え?
ます+
。?
は 0 回または 1 回、+
少なくとも 1 回を意味します。複数[]
または*
. 次に、代替手段を使用する必要があります(\[\])+|(\*)+)
これは、投稿されたすべての文字列をチェックします (int int[] char[] int[][] char** int*)
[a-zA-Z]+((\[\])*(\*)*)
http://gskinner.com/RegExr/を使用して試してみてください:)