java
숫자 형식에 대해서 java 정규식 테스트
알 수 없는 사용자
2007. 7. 24. 20:03
package kstyle.exam;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegExpTest
{
/**
* @param args
*/
public static void main(String[] args)
{
System.out.println("무조건 소수점 2자리 필수");
String pattern = "[0-9]*\\.[0-9]{2}";
test(pattern, "32");
test(pattern, "32.1");
test(pattern, "32.123");
test(pattern, "32.12");
System.out.println("소수점 자유 (있던 없던)");
pattern = "[0-9]*\\.?[0-9]*";
test(pattern, "32");
test(pattern, "32a");
test(pattern, ".123");
test(pattern, "3.123");
test(pattern, "333.123");
test(pattern, "333.1 23");
System.out.println(
"소수점 위 0~3자리, 소수점 아래 0~2자리, 소수점 없을수도 있음 --> 아래2개패턴 or 조건");
pattern = "[0-9]{0,3}";
test(pattern, "32");
test(pattern, "3234");
test(pattern, "32.3");
test(pattern, "32.33");
test(pattern, "32.334");
pattern = "[0-9]{0,3}\\.[0-9]{1,2}";
test(pattern, "32");
test(pattern, "3234");
test(pattern, "32.3");
test(pattern, "32.33");
test(pattern, "32.334");
test(pattern, ".32");
test(pattern, ".3234");
test(pattern, ".32.3");
test(pattern, ".32.33");
test(pattern, ".32.334");
}
public static void test(String pattern, String value)
{
Pattern p = Pattern.compile(pattern);
Matcher m = p.matcher(value);
boolean ok = m.matches();
System.out.println(pattern+", "+value+", "+(ok?"O":"X"));
}
}
---------------------------------------
실행결과
---------------------------------------
무조건 소수점 2자리 필수
[0-9]*\.[0-9]{2}, 32, X
[0-9]*\.[0-9]{2}, 32.1, X
[0-9]*\.[0-9]{2}, 32.123, X
[0-9]*\.[0-9]{2}, 32.12, O
소수점 자유 (있던 없던)
[0-9]*\.?[0-9]*, 32, O
[0-9]*\.?[0-9]*, 32a, X
[0-9]*\.?[0-9]*, .123, O
[0-9]*\.?[0-9]*, 3.123, O
[0-9]*\.?[0-9]*, 333.123, O
[0-9]*\.?[0-9]*, 333.1 23, X
소수점 위 0~3자리, 소수점 아래 0~2자리, 소수점 없을수도 있음 --> 아래2개패턴 or 조건
[0-9]{0,3}, 32, O
[0-9]{0,3}, 3234, X
[0-9]{0,3}, 32.3, X
[0-9]{0,3}, 32.33, X
[0-9]{0,3}, 32.334, X
[0-9]{0,3}\.[0-9]{1,2}, 32, X
[0-9]{0,3}\.[0-9]{1,2}, 3234, X
[0-9]{0,3}\.[0-9]{1,2}, 32.3, O
[0-9]{0,3}\.[0-9]{1,2}, 32.33, O
[0-9]{0,3}\.[0-9]{1,2}, 32.334, X
[0-9]{0,3}\.[0-9]{1,2}, .32, O
[0-9]{0,3}\.[0-9]{1,2}, .3234, X
[0-9]{0,3}\.[0-9]{1,2}, .32.3, X
[0-9]{0,3}\.[0-9]{1,2}, .32.33, X
[0-9]{0,3}\.[0-9]{1,2}, .32.334, X
---------------------------------------
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegExpTest
{
/**
* @param args
*/
public static void main(String[] args)
{
System.out.println("무조건 소수점 2자리 필수");
String pattern = "[0-9]*\\.[0-9]{2}";
test(pattern, "32");
test(pattern, "32.1");
test(pattern, "32.123");
test(pattern, "32.12");
System.out.println("소수점 자유 (있던 없던)");
pattern = "[0-9]*\\.?[0-9]*";
test(pattern, "32");
test(pattern, "32a");
test(pattern, ".123");
test(pattern, "3.123");
test(pattern, "333.123");
test(pattern, "333.1 23");
System.out.println(
"소수점 위 0~3자리, 소수점 아래 0~2자리, 소수점 없을수도 있음 --> 아래2개패턴 or 조건");
pattern = "[0-9]{0,3}";
test(pattern, "32");
test(pattern, "3234");
test(pattern, "32.3");
test(pattern, "32.33");
test(pattern, "32.334");
pattern = "[0-9]{0,3}\\.[0-9]{1,2}";
test(pattern, "32");
test(pattern, "3234");
test(pattern, "32.3");
test(pattern, "32.33");
test(pattern, "32.334");
test(pattern, ".32");
test(pattern, ".3234");
test(pattern, ".32.3");
test(pattern, ".32.33");
test(pattern, ".32.334");
}
public static void test(String pattern, String value)
{
Pattern p = Pattern.compile(pattern);
Matcher m = p.matcher(value);
boolean ok = m.matches();
System.out.println(pattern+", "+value+", "+(ok?"O":"X"));
}
}
---------------------------------------
실행결과
---------------------------------------
무조건 소수점 2자리 필수
[0-9]*\.[0-9]{2}, 32, X
[0-9]*\.[0-9]{2}, 32.1, X
[0-9]*\.[0-9]{2}, 32.123, X
[0-9]*\.[0-9]{2}, 32.12, O
소수점 자유 (있던 없던)
[0-9]*\.?[0-9]*, 32, O
[0-9]*\.?[0-9]*, 32a, X
[0-9]*\.?[0-9]*, .123, O
[0-9]*\.?[0-9]*, 3.123, O
[0-9]*\.?[0-9]*, 333.123, O
[0-9]*\.?[0-9]*, 333.1 23, X
소수점 위 0~3자리, 소수점 아래 0~2자리, 소수점 없을수도 있음 --> 아래2개패턴 or 조건
[0-9]{0,3}, 32, O
[0-9]{0,3}, 3234, X
[0-9]{0,3}, 32.3, X
[0-9]{0,3}, 32.33, X
[0-9]{0,3}, 32.334, X
[0-9]{0,3}\.[0-9]{1,2}, 32, X
[0-9]{0,3}\.[0-9]{1,2}, 3234, X
[0-9]{0,3}\.[0-9]{1,2}, 32.3, O
[0-9]{0,3}\.[0-9]{1,2}, 32.33, O
[0-9]{0,3}\.[0-9]{1,2}, 32.334, X
[0-9]{0,3}\.[0-9]{1,2}, .32, O
[0-9]{0,3}\.[0-9]{1,2}, .3234, X
[0-9]{0,3}\.[0-9]{1,2}, .32.3, X
[0-9]{0,3}\.[0-9]{1,2}, .32.33, X
[0-9]{0,3}\.[0-9]{1,2}, .32.334, X
---------------------------------------