javaで書ける、って言うけど
どうせ javaで正規表現を書くんだろ?

 pattern = Pattern.compile("\\([^\\)]*?(ABC)[^\\)]*?\\)");

みたいな。やたら \ が増えまくって、かえって見にくい。
ディレクトリの区切り文字の \ にマッチさせるのに

 pattern = Pattern.compile("\\\\");

って \ を4回も書かなきゃならん。 \ 地獄だ。武○士だ!