सम लंबाई के साथ 10 से बड़े हेक्साडेसिमल नंबर से मिलान करने के लिए निम्नलिखित नियमित अभिव्यक्ति है:
^(?=.{10,255}$)(?:0x)?\p{XDigit}{2}(?:\p{XDigit}{2})*$
जहां,
- ^ - वाक्य की शुरुआत से मेल खाता है।
- (?=.{10,255}$) - 10 से 255 वर्णों के साथ समाप्त होने वाली स्ट्रिंग।
- \p{XDigit}{2} - दो हेक्साडेसिमल वर्ण।
- (?:\p{XDigit}{2})* - डबल हेक्साडेसिमल वर्णों के 0 या अधिक अनुक्रम।
- $ - वाक्य के अंत से मेल खाता है।
उदाहरण 1
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class JavaExample51 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String nums[] = new String[5];
for (int i = 0; i < nums.length; i++) {
System.out.println("Enter a hexa-decimal number: ");
nums[i] = sc.nextLine();
}
// अंग्रेजी वर्णमाला स्वीकार करने के लिए नियमित अभिव्यक्ति
String regex = "^(?=.{10,255}$)(?:0x)?\\p{XDigit}{2}(?:\\p{XDigit}{2})*$";
// पैटर्न ऑब्जेक्ट बनाना
Pattern pattern = Pattern.compile(regex);
for (String hex : nums) {
// मिलानकर्ता ऑब्जेक्ट बनाना
Matcher matcher = pattern.matcher(hex);
if (matcher.find()) {
System.out.println(hex + " is valid");
} else {
System.out.println(hex + " is not valid");
}
}
}
}
आउटपुट
Enter a hexa-decimal number: 0x1234567890 Enter a hexa-decimal number: 123456789 Enter a hexa-decimal number: 123456789012 Enter a hexa-decimal number: sfdgdf35364 Enter a hexa-decimal number: $@%#BV#* 0x1234567890 is valid 123456789 is not valid 123456789012 is valid sfdgdf35364 is not valid $@%#BV#* is not valid
उदाहरण 2
import java.util.Scanner;
public class JavaExample {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter a hexa-decimal number: ");
String name = sc.nextLine();
String regex = "^(?=.{10,255}$)(?:0x)?\\p{XDigit}{2}(?:\\p{XDigit}{2})*$";
boolean result = name.matches(regex);
if (result) {
System.out.println("Given number is valid");
} else {
System.out.println("Given number is not valid");
}
}
}
आउटपुट 1
Enter your name: 0x1234567890 Given name is valid
आउटपुट 2
Enter a hexa-decimal number: 024587545 Given number is not valid