자바_정규표현식(matches, pattern)

2019. 4. 1. 17:38알고리즘문제/Hackerrank

정규표현식을 이용해 IP주소의 패턴이 맞는지 확인하는 문제이다.

IP주소의 패턴은 다음과 같다.

 

***.***.***.***

 

***는 0 ~ 255사이의 숫자만 들어갈 수 있다.

 

ex) 42.254.30.1  가능

     234.1.4.60.   불가능

     4.655.655.20  불가능

     .34.79.104.20  불가능

     hi.dslk.130.20  불가능

 

import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.Scanner;
class Solution{
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        while(in.hasNext()){
            String IP = in.next();
            System.out.println(IP.matches(new MyRegex().pattern));
        }
    }
}
//Write your code here
class MyRegex{
    static String pattern = "^([01]?\\d?\\d|2[0-4]\\d|25[0-5])\\." 
							+ "([01]?\\d?\\d|2[0-4]\\d|25[0-5])\\." 
							+ "([01]?\\d?\\d|2[0-4]\\d|25[0-5])\\." 
							+ "([01]?\\d?\\d|2[0-4]\\d|25[0-5])$";
}

 

 

 

참고)

- 잘 쓰이는 정규표현식 예시를 정리 잘해둠

https://jamesdreaming.tistory.com/199?category=685273

 

[ 자바 코딩 ] Java Regular Expression 정규표현식 - IP 주소 패턴

안녕하세요. 제임스 입니다. 이번 포스팅에서는 자바 정규표현식을 이용하여 IP 주소 패턴을 만들어 보겠습니다. IP 주소 패턴은 앞서 작성한 포스팅을 보셨다면 아마 간단하게 만드실 수 있을 것이라 생각 됩니..

jamesdreaming.tistory.com

- 정규표현식 공부하기 좋음

https://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html#compile%28java.lang.String%29

 

Pattern (Java Platform SE 6)

In Perl, \1 through \9 are always interpreted as back references; a backslash-escaped number greater than 9 is treated as a back reference if at least that many subexpressions exist, otherwise it is interpreted, if possible, as an octal escape. In this cla

docs.oracle.com