次のJavaコードスニペットの正規表現の意味を教えてもらえますか?
String someString = …;
someString.matches("^\\d{5}-\\d{4}$");
これは、文字列の先頭にある5つの10進数に一致し、その後にダッシュが続き、最後に4つの10進数が続きます。
^ = Beginning of string
\d{n} = Match n decimal numbers
$ = End of string
http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.htmlから
5 桁、ダッシュ、さらに 4 桁...他には何もありません
^
行頭を意味します。
\d{5}
5桁という意味です。
-
文字通り「-」を意味します
\d{4}
4桁という意味です。
$
行の終わりを意味します。
つまり、ダッシュで区切られた 4 桁のシーケンスが続く 5 桁のシーケンスを探しており、それが行上の唯一のものです。
例:
12345-6789