728x90
반응형
해커랭크 - https://www.hackerrank.com/
Prepare > Java > Strings > Java Regex
문자열 패턴을 포함할 MyRegex라는 클래스를 작성하세요. IP 주소의 유효성을 검사하는 데 사용할 수 있도록 정규식을 작성하고 패턴에 할당해야 합니다. 다음과 같은 IP 주소 정의를 사용합니다.
IP 주소는 "A.B.C.D" 형식의 문자열이며, 여기서 A, B, C 및 D의 값 범위는 0에서 255 사이일 수 있습니다. 선행 0이 허용됩니다. A, B, C 또는 D의 길이는 3보다 클 수 없습니다.
일부 유효한 IP 주소:
000.12.12.034
121.234.12.12
23.45.12.56
일부 잘못된 IP 주소:
000.12.234.23.23
666.666.23.23
.213.123.23.32
23.45.22.32.
I.Am.not.an.ip
이 문제에서는 ASCII 문자 조합을 포함하는 문자열이 제공됩니다. 유효한 IP를 찾으려면 정규식을 작성해야 합니다.
String 패턴을 포함하는 MyRegex 클래스를 작성하기만 하면 됩니다. 문자열에는 올바른 정규식이 포함되어야 합니다.
Sample Input
000.12.12.034
121.234.12.12
23.45.12.56
00.12.123.123123.123
122.23
Hello.IP
Sample Output
true
true
true
false
false
false
반응형
Code
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 {
String pattern = "\\b([01]?\\d{1,2}|2[0-4]\\d|25[0-5])\\."
+ "([01]?\\d{1,2}|2[0-4]\\d|25[0-5])\\."
+ "([01]?\\d{1,2}|2[0-4]\\d|25[0-5])\\."
+ "([01]?\\d{1,2}|2[0-4]\\d|25[0-5])\\b";
}
참고
개인 공부를 위한 포스팅입니다.
모든 번역, 코드는 완벽하지 않을 수 있습니다.
728x90
반응형
'> 개발-IT-인터넷 > > JAVA' 카테고리의 다른 글
[해커랭크(HackerRank) JAVA 풀이] - Java Regex 2 - Duplicate Words (0) | 2023.09.19 |
---|---|
자바 정규식 (Java RegExp) 정규표현식 사용법 (0) | 2023.09.18 |
[해커랭크(HackerRank) JAVA 풀이] - Pattern Syntax Checker (0) | 2021.10.01 |
[해커랭크(HackerRank) JAVA 풀이] - Java String Tokens (0) | 2021.10.01 |
[해커랭크(HackerRank) JAVA 풀이] - Java Anagrams (0) | 2021.10.01 |