Javaで正規表現で文字列抽出

すぐに忘れてしまうJavaの正規表現の使い方。
スクリーンショット 2013-12-03 1.12.17

ユーザーエージェントの一部を切り出す

たとえばこんなユーザーエージェントがあったとします。

Mozilla/5.0 (iPhone; CPU iPhone OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B179 Safari/7534.48.3

ここからMozillaのバージョン部分を取り出すには、次のようなコードが使えます。

Matcher matcher = Pattern.compile("Mozilla/(\\d+(\\.\\d+)?)").matcher(userAgent);
if (matcher.find())
	version = matcher.group(1);

Patternを作成し、Matcherを作成し、findメソッドでカーソルを移動させ、groupメソッドで値を取得する。
よく使われる軽量言語に比べると、実に面倒です。

タイトルとURLをコピーしました