「Java」正規表現式で数字以外の1文字にマッチするサンプル

2020年10月20日

説明
\D 数字以外の1文字にマッチします。
Javaコード

package com.arkgame.study;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class SekiHoDemo {
      // 数字以外の1文字にマッチ
      public static final String cftPt = "\\D";

      public static void main(String[] args) {
            String strA = "abcde";
            String strB = "12abc";
            String strC = "345678";
            // 大文字小文字無視
            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]が正規表現[\D]にマッチします。
文字列A[12abc]が正規表現[\D]にマッチします。
文字列A[345678]が正規表現[\D]にマッチしません。

Java

Posted by arkgame