System.out.println("a".matches("^[A-Za-z]+"));
System.out.println("a ".matches("^[A-Za-z]+"));
これは私に与えます:
true
false
一体何が起こっているのですか?私が読む限り、「[A-Za-z]」には「a」が含まれ、「+」は 1 つ以上を意味するので、少なくともこの宇宙では、これは機能しそうです....
詳細は次のとおりです。
Mac OS X 10.8.4
$ java -version
java version "1.6.0_51"
Java(TM) SE Runtime Environment (build 1.6.0_51-b11-457-11M4509)
Java HotSpot(TM) 64-Bit Server VM (build 20.51-b01-457, mixed mode)
たぶん、私はあまりにも長い間 perl を書いてきましたが、Java の正規表現システムはそれに似ていますが、そうではありませんか? わかりません。