「Javaの正規表現でパターンマッチをする」の版間の差分

提供: Java入門
移動: 案内検索
(ページの作成:「正規表現とは、非常に強力なツールです。テキストを扱うときにパターン検索、パターン置換で力を発揮します。Javaでも正規...」)
 
 
行55: 行55:
 
</syntaxhighlight>
 
</syntaxhighlight>
 
== 関連項目 ==
 
== 関連項目 ==
 +
{{:Javaの正規表現}}
 
<!-- vim: filetype=mediawiki
 
<!-- vim: filetype=mediawiki
 
-->
 
-->

2015年3月15日 (日) 18:03時点における最新版

正規表現とは、非常に強力なツールです。テキストを扱うときにパターン検索、パターン置換で力を発揮します。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

関連項目