0

入力を検証するための正規表現を書きたいです。入力の形式は次のとおりです。

N. Crystal

O. J. Faucon

A. V. E. David

"^[A-Z. ]*+([a-zA-Z])*$"動かない。上記の例をどのように一致させることができますか?

4

1 に答える 1

3

.NETは、ネストされた数量詞について正しく不平を言います。冗長です。1つ削除してください*+

^[A-Z. ]*([a-zA-Z])*$

さらに、*空の入力を本当に受け入れたい場合を除いて、ここでの使用はかなり直感的ではないようです。実際には、少なくとも1人のキャラクターを期待していませんか?(グループ化は意味がないため、冗長な括弧を削除することもできます。)

^[A-Z. ]+[a-zA-Z]+$

最後に、これは「BAR...FOOxyz」などのほぼすべてを受け入れます。もっと正確にしたいかもしれません:

^([A-Z]\. )+[a-zA-Z]+$

これで、最初のグループはイニシャル(つまり、大文字の後にドットとスペースが続く)と明示的に一致し、それらの複数に一致しますが、少なくとも1つは一致します。

于 2012-05-30T10:51:24.557 に答える