「Java」正規表現式({m,n})で指定桁範囲内に半角数字を判定するサンプル
構文
^\\d{2,3}$ 半角数字2位以上3位以下
Javaコード
package com.arkgame.study; import java.util.regex.Matcher; import java.util.regex.Pattern; public class YuBinSeki { // 半角数値2桁以上3桁以下にマッチ private static final String mtPt = "^\\d{2,3}$"; public static void main(String[] args) { String strA = "8"; //全角数字 String strB = "32"; String strC = "256"; // 大文字小文字無視 Pattern pt = Pattern.compile(mtPt, Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE | Pattern.UNIX_LINES); if (testFunc(pt, strA) == true) { System.out.println("文字列A[" + strA + "]が正規表現[" + mtPt + "]にマッチします。"); } else { System.out.println("文字列A[" + strA + "]が正規表現[" + mtPt + "]にマッチしません。"); } if (testFunc(pt, strB) == true) { System.out.println("文字列A[" + strB + "]が正規表現[" + mtPt + "]にマッチします。"); } else { System.out.println("文字列A[" + strB + "]が正規表現[" + mtPt + "]にマッチしません。"); } if (testFunc(pt, strC) == true) { System.out.println("文字列A[" + strC + "]が正規表現[" + mtPt + "]にマッチします。"); } else { System.out.println("文字列A[" + strC + "]が正規表現[" + mtPt + "]にマッチしません。"); } } public static boolean testFunc(Pattern pattern, String target) { // 正規表現判定 Matcher mt = pattern.matcher(target); return mt.find(); } }
結果
文字列A[8]が正規表現[^\d{2,3}$]にマッチしません。
文字列A[32]が正規表現[^\d{2,3}$]にマッチしません。
文字列A[256]が正規表現[^\d{2,3}$]にマッチします。