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

Java

Posted by arkgame