2

そのような入力には正規表現が必要です。

1
1a
1b
1c
1d
2
2a
2b
2c

しかし、次の入力を書くと、許可されません。

a
b
c

文字列は 1 または 2 で始まり (1 回のみ、必須)、その後に a から z までの任意の文字が続く必要があります (1 回のみ)。

したがって、文字列の合計の長さは 2 のみです

最初の文字は常に 1 または 2 になります (最初の文字は必須です)
2 番目の文字は a から z になります (必須ではありません)

これを試しまし[1-2]?[a-zA-Z]?たが、任意の文字で始まる文字列を入力できます..

C#.Net 用のこの RegEx が必要です

4

2 に答える 2

6

正規表現をアンカーする必要があります-文字列の先頭にある必要があることを指定する必要があります。

また、1 または 2存在する必要があることを指定する必要があります。これにはいくつかの方法がありますが(1|2)、文字クラスは別のオプション ( [12]) と考えて、代替を選択しました。

これを行うには、正規表現を次のように開始し^ます。

^(1|2)[a-zA-Z]?

したがって、上記は一致します

于 2013-05-16T06:41:37.923 に答える
0

これでできます ^(1|2)[a-zA-Z]?$

于 2013-05-16T06:49:56.097 に答える