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

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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 + "」  一致しません");
}
}
}
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 + "」  一致しません"); } } }
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