「Java」正規表現式で複数条件(and)を判定するサンプル

構文
“^x.*y$"
xで始まり、yで終わるかどうかを判定します。
※「.*」は任意文字が0個以上です。
Javaコード

package com.arkgame.study;

import java.util.regex.Pattern;

public class SekiHDemo {

      // 「testで始まる」 and 「checkで終わる」
      protected static final String regexPt = "^test.*check$";

      public static void main(String[] args) {
            String targetA = "test data12";
            String targetB = "data34 check";
            String targetC = "test data12 check";
            // compile文
            Pattern p1 = Pattern.compile(regexPt);
            Pattern p2 = Pattern.compile(regexPt);
            Pattern p3 = Pattern.compile(regexPt);
            System.out.println("***********実行結果************");
            // if文
            if (p1.matcher(targetA).find()) {
                  System.out.println("文字列「" + targetA + "」 と正規表現式「" + regexPt + "」  一致");
            } else {
                  System.out.println("文字列「" + targetA + "」 と正規表現式「" + regexPt + "」  一致しません");
            }
            System.out.println("***************************");
            if (p2.matcher(targetB).find()) {
                  System.out.println("文字列「" + targetB + "」 と正規表現式「" + regexPt + "」  一致");
            } else {
                  System.out.println("文字列「" + targetB + "」 と正規表現式「" + regexPt + "」  一致しません");
            }
            System.out.println("***************************");
            if (p3.matcher(targetC).find()) {
                  System.out.println("文字列「" + targetC + "」 と正規表現式「" + regexPt + "」  一致");
            } else {
                  System.out.println("文字列「" + targetC + "」 と正規表現式「" + regexPt + "」  一致しません");
            }
      }
}

***********実行結果************
文字列「test data12」 と正規表現式「^test.*check$」  一致しません
***************************
文字列「data34 check」 と正規表現式「^test.*check$」  一致しません
***************************
文字列「test data12 check」 と正規表現式「^test.*check$」  一致

Java

Posted by arkgame