Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Java

Java में रेगुलर एक्सप्रेशन: 10 से बड़ा हेक्साडेसिमल नंबर और सम लंबाई में होना चाहिए


सम लंबाई के साथ 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

  1. - Java में रेगुलर एक्सप्रेशन [^...] कंस्ट्रक्ट

    सबएक्सप्रेशन/मेटाकैरेक्टर “[^...]” ब्रैकेट में नहीं होने वाले किसी भी सिंगल कैरेक्टर से मिलान करता है। उदाहरण 1 import java.util.regex.Matcher; import java.util.regex.Pattern; public class SpecifiedCharacters { public static void main( String args[] ) { String regex = [^

  1. - Java में प्राइम चेक करने और अगला प्राइम खोजने के लिए BigInteger मेथड्स

    java.math.BigInteger क्लास Java के प्रिमिटिव इंटीजर ऑपरेटर्स के सभी एनालॉग ऑपरेशन्स और java.lang.Math से सभी प्रासंगिक मेथड्स प्रदान करती है। यह यह वेरिफाई करने के लिए मेथड्स भी प्रदान करती है कि कोई नंबर प्राइम है या नहीं, और अगला संभावित प्राइम खोजने के लिए एक मेथड। isProbablePrime() - यह विधि एक

  1. - Java में प्राइम चेक करने और अगला प्राइम खोजने का प्रोग्राम

    कोई भी पूर्ण संख्या जो 1 से बड़ी है और जिसके केवल दो फैक्टर हैं यानी 1 और वह संख्या स्वयं, प्राइम नंबर कहलाती है। इन दो संख्याओं के अलावा इसका कोई पॉजिटिव डिवाइज़र नहीं होता। उदाहरण: 7 = 1 × 7 किसी संख्या के प्राइम होने या न होने का पता लगाने का एल्गोरिदम: इंटीजर वेरिएबल A लें। वेरिएबल A को (A-1