「Java」正規表現式で直前の文字が0個以上にマッチするサンプル

構文
^X*$ 直前の文字「X」が0個以上にマッチします。
Javaコード

package com.arkgame.study;

import java.util.regex.Pattern;

public class TimeSeki {
      // 直前の文字が0個以上にマッチ
      private static final String regexPt = "^X*$";

      public static void main(String[] args) {
            String targetA = "";
            String targetB = "X";
            String targetC = "XX";
            String targetD = "YXX";
            // compile文
            Pattern p1 = Pattern.compile(regexPt);
            Pattern p2 = Pattern.compile(regexPt);
            Pattern p3 = Pattern.compile(regexPt);
            Pattern p4 = Pattern.compile(regexPt);
            System.out.println("***********文字列A************");
            // if文
            if (p1.matcher(targetA).find()) {
                  System.out.println("文字列「" + targetA + "」 と正規表現式「" + regexPt + "」  一致");
            } else {
                  System.out.println("文字列「" + targetA + "」 と正規表現式「" + regexPt + "」  一致しません");
            }
            System.out.println("***********文字列B****************");
            if (p2.matcher(targetB).find()) {
                  System.out.println("文字列「" + targetB + "」 と正規表現式「" + regexPt + "」  一致");
            } else {
                  System.out.println("文字列「" + targetB + "」 と正規表現式「" + regexPt + "」  一致しません");
            }
            System.out.println("*************文字列C*************");
            if (p3.matcher(targetC).find()) {
                  System.out.println("文字列「" + targetC + "」 と正規表現式「" + regexPt + "」  一致");
            } else {
                  System.out.println("文字列「" + targetC + "」 と正規表現式「" + regexPt + "」  一致しません");
            }
            System.out.println("*************文字列D*************");
            if (p4.matcher(targetD).find()) {
                  System.out.println("文字列「" + targetD + "」 と正規表現式「" + regexPt + "」  一致");
            } else {
                  System.out.println("文字列「" + targetD + "」 と正規表現式「" + regexPt + "」  一致しません");
            }
      }

}

実行結果
***********文字列A************
文字列「」 と正規表現式「^X*$」  一致
***********文字列B****************
文字列「X」 と正規表現式「^X*$」  一致
*************文字列C*************
文字列「XX」 と正規表現式「^X*$」  一致
*************文字列D*************
文字列「YXX」 と正規表現式「^X*$」  一致しません

Java

Posted by arkgame