「Java」正規表現で郵便番号(ハイフンあり)を判定するサンプル

2020年10月20日

説明
郵便番号(半角数値3桁 半角ハイフン 半角数値4桁)にマッチします。
Javaコード

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
package com.arkgame.study;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class YuBinSeki {
// 郵便番号(半角数字3桁 ハイフン 半角数値4桁)
private static final String cftPt = "^\\d{3}-\\d{4}";
public static void main(String[] args) {
String strA = "121-1234";
String strB = "123456";
String strC = "abc123";
// 大文字小文字無視
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 YuBinSeki { // 郵便番号(半角数字3桁 ハイフン 半角数値4桁) private static final String cftPt = "^\\d{3}-\\d{4}"; public static void main(String[] args) { String strA = "121-1234"; String strB = "123456"; String strC = "abc123"; // 大文字小文字無視 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 YuBinSeki {

      // 郵便番号(半角数字3桁 ハイフン 半角数値4桁)
      private static final String cftPt = "^\\d{3}-\\d{4}";

      public static void main(String[] args) {
            String strA = "121-1234";
            String strB = "123456";
            String strC = "abc123";
            // 大文字小文字無視
            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[121-1234]が正規表現[^\d{3}-\d{4}]にマッチします。
文字列A[123456]が正規表現[^\d{3}-\d{4}]にマッチしません。
文字列A[abc123]が正規表現[^\d{3}-\d{4}]にマッチしません。

Java

Posted by arkgame