Javaでマッチング、正規表現のとき、$1 $2 とか使いたいじゃん

Pattern p = Pattern.compile("^(.*?)(.png)$");
Matcher m = p.matcher(photoUrl);
String result = m.replaceFirst("$1"); 

こうすると result に$1が入るよ。つまり、

^(.*?)(.png)$

の最初の括弧の

(.*?)

にマッチした部分がゲットできるってことね。

photoUrl = “hogehoge.png”;

だったら、

hogehoge

がとれるってことだよん。