0

文字列に一致させるために次のパターンを使用しています。

[a-zA-Z0-9] *

文字列を渡しても*$#、正規表現と一致します。誰かが私が間違っていること、またはなぜこれが起こっているのかを説明できますか?

4

2 に答える 2

3

^(文字列の開始)と(文字列の終了)を使用する必要が$あります。

したがって、正規表現は

^[a-zA-Z0-9]*$

[a-zA-Z0-9]*メソッドを使用する場合、文字列の任意の場所に一致します。を使用すると、最初から最後まで入力全体に一致します。find^$

メソッドを使用する場合は、文字列全体を照合しようとするため、matchesは必要ありません。^$

于 2013-03-03T13:08:53.393 に答える
2

[a-zA-Z0-9]*これらの文字のいずれかが0個以上であることを意味します。Matcher.find()を使用している場合は、文字列内のどこにでも一致する可能性があるため、どこでも/どこでもそれを見つけることができます。

于 2013-03-03T13:08:48.713 に答える