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

जावा में Pattern CANON_EQ फील्ड के उदाहरण


Pattern क्लास का CANON_EQ फील्ड दो वर्णों से तभी मिलान करता है जब वे कैनोनिकली समान हों। जब आप इसे compile() मेथड के फ्लैग मान के रूप में उपयोग करते हैं, तो दो वर्ण तभी मिलान होंगे यदि उनके पूर्ण कैनोनिकल विघटन (canonical decompositions) समान हों।

जहां कैनोनिकल विघटन यूनिकोड टेक्स्ट नॉर्मलाइज़ेशन फॉर्म्स में से एक है।

उदाहरण 1

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class CANON_EQ_Example {
    public static void main(String args[]) {
        String regex = "b\u0307";
        
        // रेगुलर एक्सप्रेशन कंपाइल करना
        Pattern pattern = Pattern.compile(regex, Pattern.CANON_EQ);
        
        // मैचर ऑब्जेक्ट प्राप्त करना
        Matcher matcher = pattern.matcher("\u1E03");
        if(matcher.matches()) {
            System.out.println("मिलान मिला");
        } else {
            System.out.println("मिलान नहीं मिला");
        }
    }
}

आउटपुट

मिलान मिला

उदाहरण 2

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class CANON_EQ_Example {
    public static void main(String args[]) {
        String regex = "a\u030A";
        
        // रेगुलर एक्सप्रेशन कंपाइल करना
        Pattern pattern = Pattern.compile(regex, Pattern.CANON_EQ);
        
        // मैचर ऑब्जेक्ट प्राप्त करना
        String[] input = {"\u00E5", "a\u0311", "a\u0325", "a\u030A", "a\u1E03", "a\uFB03"};
        for (String ele : input) {
            Matcher matcher = pattern.matcher(ele);
            if(matcher.matches()) {
                System.out.println(ele + " " + regex + " के लिए मिलान है");
            } else {
                System.out.println(ele + " " + regex + " के लिए मिलान नहीं है");
            }
        }
    }
}

आउटपुट

å å के लिए मिलान है
ȃ å के लिए मिलान नहीं है
ḁ å के लिए मिलान नहीं है
å å के लिए मिलान है
aḃ å के लिए मिलान नहीं है
affi å के लिए मिलान नहीं है
  1. - जावा में Pattern LITERAL फील्ड के उदाहरण

    पैटर्न के लिटरल पार्सिंग को सक्षम करता है। इसमें, एस्केप सीक्वेंस और मेटा-कैरेक्टर सहित सभी वर्णों का कोई विशेष अर्थ नहीं होता है, उन्हें लिटरल वर्णों के रूप में माना जाता है। उदाहरण के लिए, सामान्यतः यदि आप दिए गए इनपुट टेक्स्ट में रेगुलर एक्सप्रेशन ^This को खोजते हैं तो यह This शब्द से शुरू होने

  1. - जावा में Pattern DOTALL फील्ड के उदाहरण

    Pattern क्लास का DOTALL फील्ड डॉटऑल मोड को सक्षम करता है। डिफ़ॉल्ट रूप से, रेगुलर एक्सप्रेशन में . मेटा कैरेक्टर लाइन टर्मिनेटर्स को छोड़कर सभी वर्णों से मिलान करता है। उदाहरण 1 (डिफ़ॉल्ट मोड - DOTALL के बिना) import java.util.regex.Matcher; import java.util.regex.Pattern; public class DOTALL_Exam

  1. - जावा में Pattern COMMENTS फील्ड के उदाहरण

    Pattern क्लास का COMMENTS फील्ड पैटर्न में व्हाइटस्पेस और टिप्पणियों की अनुमति देता है। जब आप इसे compile() मेथड के फ्लैग मान के रूप में उपयोग करते हैं, तो दिए गए पैटर्न में व्हाइटस्पेस और # से शुरू होने वाली टिप्पणियों को नजरअंदाज किया जाता है। उदाहरण 1 import java.util.Scanner; import java.util.r