西海岸より

つらつらざつざつと

文字列から正規表現で特定部分を抽出

よくやるのでメモ。
引数の正規表現で、()でくくったところを抜き出す関数。

import java.util.regex.*;

public class RegexUtil {

	public static String extractMatchString(String regex, String target) {
		Pattern pattern = Pattern.compile(regex);
		Matcher matcher = pattern.matcher(target);
		if (matcher.find()) {
			return matcher.group(1);
		} else {
			throw new IllegalStateException("No match found.");
		}
	}
	
	public static void main(String[] args) {
		String target = "[INFO] 2009-10-30 22:01:52 HOGEHOGEHOGE";
		String regex = "\\[(.+)\\]";
		System.out.println("Result: " + extractMatchString(regex, target));
	}
}
  • 結果
Result: INFO

詳説 正規表現 第2版

詳説 正規表現 第2版

Java ポケットリファレンス

Java ポケットリファレンス