文字列に一致させるために次のパターンを使用しています。
[a-zA-Z0-9] *
文字列を渡しても*$#
、正規表現と一致します。誰かが私が間違っていること、またはなぜこれが起こっているのかを説明できますか?
^
(文字列の開始)と(文字列の終了)を使用する必要が$
あります。
したがって、正規表現は
^[a-zA-Z0-9]*$
[a-zA-Z0-9]*
メソッドを使用する場合、文字列の任意の場所に一致します。を使用すると、最初から最後まで入力全体に一致します。find
^
$
メソッドを使用する場合は、文字列全体を照合しようとするため、matches
は必要ありません。^
$
[a-zA-Z0-9]*
これらの文字のいずれかが0個以上であることを意味します。Matcher.find()を使用している場合は、文字列内のどこにでも一致する可能性があるため、どこでも/どこでもそれを見つけることができます。