「Java」正規表現(|)で指定文字列いずれかとマッチする
構文
x|y
xまたはyにマッチします。
Javaコード
package com.arkgame.study;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class SekiHoDemo {
// xまたはyにマッチします。
public static final String cftPt = "x|y";
public static void main(String[] args) {
String strA = "abcde";
String strB = "xy12abc";
String strC = "y45678";
// 大文字小文字無視
Pattern pt = Pattern.compile(cftPt, Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE | Pattern.UNIX_LINES);
if (testFunc(pt, strA) == true) {
System.out.println("文字列A[" + strA + "]が正規表現[" + cftPt + "]にマッチします。");
} else {
System.out.println("文字列A[" + strA + "]が正規表現[" + cftPt + "]にマッチしません。");
}
if (testFunc(pt, strB) == true) {
System.out.println("文字列A[" + strB + "]が正規表現[" + cftPt + "]にマッチします。");
} else {
System.out.println("文字列A[" + strB + "]が正規表現[" + cftPt + "]にマッチしません。");
}
if (testFunc(pt, strC) == true) {
System.out.println("文字列A[" + strC + "]が正規表現[" + cftPt + "]にマッチします。");
} else {
System.out.println("文字列A[" + strC + "]が正規表現[" + cftPt + "]にマッチしません。");
}
}
public static boolean testFunc(Pattern pattern, String target) {
// 正規表現判定
Matcher mt = pattern.matcher(target);
return mt.find();
}
}
package com.arkgame.study;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class SekiHoDemo {
// xまたはyにマッチします。
public static final String cftPt = "x|y";
public static void main(String[] args) {
String strA = "abcde";
String strB = "xy12abc";
String strC = "y45678";
// 大文字小文字無視
Pattern pt = Pattern.compile(cftPt, Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE | Pattern.UNIX_LINES);
if (testFunc(pt, strA) == true) {
System.out.println("文字列A[" + strA + "]が正規表現[" + cftPt + "]にマッチします。");
} else {
System.out.println("文字列A[" + strA + "]が正規表現[" + cftPt + "]にマッチしません。");
}
if (testFunc(pt, strB) == true) {
System.out.println("文字列A[" + strB + "]が正規表現[" + cftPt + "]にマッチします。");
} else {
System.out.println("文字列A[" + strB + "]が正規表現[" + cftPt + "]にマッチしません。");
}
if (testFunc(pt, strC) == true) {
System.out.println("文字列A[" + strC + "]が正規表現[" + cftPt + "]にマッチします。");
} else {
System.out.println("文字列A[" + strC + "]が正規表現[" + cftPt + "]にマッチしません。");
}
}
public static boolean testFunc(Pattern pattern, String target) {
// 正規表現判定
Matcher mt = pattern.matcher(target);
return mt.find();
}
}
package com.arkgame.study; import java.util.regex.Matcher; import java.util.regex.Pattern; public class SekiHoDemo { // xまたはyにマッチします。 public static final String cftPt = "x|y"; public static void main(String[] args) { String strA = "abcde"; String strB = "xy12abc"; String strC = "y45678"; // 大文字小文字無視 Pattern pt = Pattern.compile(cftPt, Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE | Pattern.UNIX_LINES); if (testFunc(pt, strA) == true) { System.out.println("文字列A[" + strA + "]が正規表現[" + cftPt + "]にマッチします。"); } else { System.out.println("文字列A[" + strA + "]が正規表現[" + cftPt + "]にマッチしません。"); } if (testFunc(pt, strB) == true) { System.out.println("文字列A[" + strB + "]が正規表現[" + cftPt + "]にマッチします。"); } else { System.out.println("文字列A[" + strB + "]が正規表現[" + cftPt + "]にマッチしません。"); } if (testFunc(pt, strC) == true) { System.out.println("文字列A[" + strC + "]が正規表現[" + cftPt + "]にマッチします。"); } else { System.out.println("文字列A[" + strC + "]が正規表現[" + cftPt + "]にマッチしません。"); } } public static boolean testFunc(Pattern pattern, String target) { // 正規表現判定 Matcher mt = pattern.matcher(target); return mt.find(); } }
実行結果
文字列A[abcde]が正規表現[x|y]にマッチしません。
文字列A[xy12abc]が正規表現[x|y]にマッチします。
文字列A[y45678]が正規表現[x|y]にマッチします。
文字列A[abcde]が正規表現[x|y]にマッチしません。
文字列A[xy12abc]が正規表現[x|y]にマッチします。
文字列A[y45678]が正規表現[x|y]にマッチします。
文字列A[abcde]が正規表現[x|y]にマッチしません。 文字列A[xy12abc]が正規表現[x|y]にマッチします。 文字列A[y45678]が正規表現[x|y]にマッチします。