-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathJavaRegex.java
More file actions
66 lines (50 loc) · 1.92 KB
/
JavaRegex.java
File metadata and controls
66 lines (50 loc) · 1.92 KB
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
63
64
65
66
// Write a class called MyRegex which will contain a string pattern. You need to write a regular expression and assign it to the pattern such that it can be used to validate an IP address. Use the following definition of an IP address:
// IP address is a string in the form "A.B.C.D", where the value of A, B, C, and D may range from 0 to 255. Leading zeros are allowed. The length of A, B, C, or D can't be greater than 3.
//Some valid IP address:
//000.12.12.034
//121.234.12.12
//23.45.12.56
//Some invalid IP address:
//000.12.234.23.23
//666.666.23.23
//.213.123.23.32
//23.45.22.32.
//I.Am.not.an.ip
//In this problem you will be provided strings containing any combination of ASCII characters. You have to write a regular expression to find the valid IPs.
//Just write the MyRegex class which contains a String "pattern". The string should contain the correct regular expression.
//(MyRegex class MUST NOT be public)
//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
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));
}
}
}
class MyRegex{
protected static String pattern =
"([0-9]|[0-9][0-9]|0[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])"
+"\\."+"([0-9]|[0-9][0-9]|0[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])"
+"\\."+"([0-9]|[0-9][0-9]|0[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])"
+"\\."+"([0-9]|[0-9][0-9]|0[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])";
// Reference: https://www.regular-expressions.info/numericranges.html
// Reference: https://www.geeksforgeeks.org/how-to-validate-an-ip-address-using-regular-expressions-in-java/
}