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