「Java」正規表現(\\W)で半角英数値以外文字を判定するサンプル
構文
\W 半角英数値(0~9、a~z、A~Z、_)以外にマッチします。
※ [^0-9a-zA-Z_]と同じです
Javaコード
package com.arkgame.study;
import java.util.regex.Pattern;
public class TokuShuDemo {
// 半角英数値(0~9、a~z、A~Z、_)以外
protected static final String regexPt = "\\W";
public static void main(String[] args) {
String targetA = "123456";
//全角英数abcdef
String targetB = "abcdef";
//半角英数DEFGH
String targetC = "DEFGH";
String targetD = "?#!";
// compile文
Pattern p1 = Pattern.compile(regexPt);
Pattern p2 = Pattern.compile(regexPt);
Pattern p3 = Pattern.compile(regexPt);
Pattern p4 = Pattern.compile(regexPt);
System.out.println("***********数値0~9************");
// if文
if (p1.matcher(targetA).find()) {
System.out.println("文字列「" + targetA + "」 と正規表現式「" + regexPt + "」 一致");
} else {
System.out.println("文字列「" + targetA + "」 と正規表現式「" + regexPt + "」 一致しません");
}
System.out.println("***********小文字a~z****************");
if (p2.matcher(targetB).find()) {
System.out.println("文字列「" + targetB + "」 と正規表現式「" + regexPt + "」 一致");
} else {
System.out.println("文字列「" + targetB + "」 と正規表現式「" + regexPt + "」 一致しません");
}
System.out.println("*************大文字A~Z*************");
if (p3.matcher(targetC).find()) {
System.out.println("文字列「" + targetC + "」 と正規表現式「" + regexPt + "」 一致");
} else {
System.out.println("文字列「" + targetC + "」 と正規表現式「" + regexPt + "」 一致しません");
}
System.out.println("*************その他*************");
if (p4.matcher(targetD).find()) {
System.out.println("文字列「" + targetD + "」 と正規表現式「" + regexPt + "」 一致");
} else {
System.out.println("文字列「" + targetD + "」 と正規表現式「" + regexPt + "」 一致しません");
}
}
}
実行結果
***********数値0~9************
文字列「123456」 と正規表現式「\W」 一致しません
***********小文字a~z****************
文字列「abcdef」 と正規表現式「\W」 一致
*************大文字A~Z*************
文字列「DEFGH」 と正規表現式「\W」 一致しません
*************その他*************
文字列「?#!」 と正規表現式「\W」 一致