「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$」 一致