Javaの正規表現でパターンマッチをする

提供: Java入門
2015年3月15日 (日) 18:03時点におけるDaemon (トーク | 投稿記録)による版

(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)
移動: 案内検索
スポンサーリンク

正規表現とは、非常に強力なツールです。テキストを扱うときにパターン検索、パターン置換で力を発揮します。Javaでも正規表現を利用できます。PatternとMatcherを利用します。ここでは、単純なマッチングを紹介します。

読み方

正規表現
せいきひょうげん
Pattern
ぱたーん
Matcher
まっちゃー

概要

ワイルドカード的に表現すると *.co.jp にマッチするようなプログラムを紹介します。

  • .co.jp にマッチするようなドメインを探したい場合には、正規表現的には、以下のパターンになります。
String regex = ".*\\.co\\.jp$";

ソースコード

このプログラムは、マッチした場合には、match 、マッチしない場合には not match を表示します。

/*
 * Regex1.java
 * Copyright (C) 2015 kaoru <kaoru@bsd>
 */
import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class Regex1
{
        public static void main(String[] args) {
                String s1 = "google.co.jp";
                String s2 = "google.com";
 
                String regex = ".*\\.co\\.jp$";
                Pattern p = Pattern.compile(regex);
 
                System.out.print(s1 + " ");
                Matcher m1 = p.matcher(s1);
                System.out.println (
                        m1.find() ? "match" : "not match"
                );
                System.out.print(s2 + " ");
                Matcher m2 = p.matcher(s2);
                System.out.println (
                        m2.find() ? "match" : "not match"
                );
        }
}

コンパイル

$ javac Regex1.java

実行例

このように期待した結果が得られました。

$ java Regex1
google.co.jp match
google.com not match

関連項目





スポンサーリンク