javaで正規表現チェックをする場合は「Pattern」クラスと「Matcher」クラスを使用すると簡単に正規表現にマッチしているか確認する事が出来ます。
以下はjavaで正規表現を使用し、「携帯番号」に一致しているかどうかをチェックするサンプルコードです。
Javaソース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
/** * <p>[概 要] 正規表現チェック処理</p> * <p>[詳 細] </p> * <p>[備 考] </p> * @param str チェック文字列 * @return true:正規表現一致、false:正規表現不一致 */ public static boolean checkRegex(String str){ String regex = "^(090|080|070)-[0-9]{4}-[0-9]{4}$"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(str); if (matcher.find()){ return true; } else { return false; } } |
JUnitサンプル
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
@Test public void checkRegexTest_Normal() { // 準備 String str1 = "090-9999-9999"; String str2 = "080-9999-9999"; String str3 = "070-9999-9999"; // 実行 boolean result1 = UtilSample1.checkRegex(str1); boolean result2 = UtilSample1.checkRegex(str2); boolean result3 = UtilSample1.checkRegex(str3); // 検証 assertTrue(result1); assertTrue(result2); assertTrue(result3); } @Test public void checkRegexTest_Err() { // 準備 String str1 = "abc-9999-9999"; String str2 = "080-abcd-9999"; String str3 = "070-9999-efgh"; String str4 = "123-4567-8910"; String str5 = "abc"; String str6 = "123"; String str7 = "0901-9999-9999"; String str8 = "090-99999-9999"; String str9 = "090-9999-99999"; String str10 = "09-9999-9999"; String str11 = "090-999-9999"; String str12 = "090-9999-999"; // 実行 boolean result1 = UtilSample1.checkRegex(str1); boolean result2 = UtilSample1.checkRegex(str2); boolean result3 = UtilSample1.checkRegex(str3); boolean result4 = UtilSample1.checkRegex(str4); boolean result5 = UtilSample1.checkRegex(str5); boolean result6 = UtilSample1.checkRegex(str6); boolean result7 = UtilSample1.checkRegex(str7); boolean result8 = UtilSample1.checkRegex(str8); boolean result9 = UtilSample1.checkRegex(str9); boolean result10 = UtilSample1.checkRegex(str10); boolean result11 = UtilSample1.checkRegex(str11); boolean result12 = UtilSample1.checkRegex(str12); // 検証 assertFalse(result1); assertFalse(result2); assertFalse(result3); assertFalse(result4); assertFalse(result5); assertFalse(result6); assertFalse(result7); assertFalse(result8); assertFalse(result9); assertFalse(result10); assertFalse(result11); assertFalse(result12); } |