すぐに忘れてしまうJavaの正規表現の使い方。
ユーザーエージェントの一部を切り出す
たとえばこんなユーザーエージェントがあったとします。
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メソッドで値を取得する。
よく使われる軽量言語に比べると、実に面倒です。