निम्नलिखित रेगुलर एक्सप्रेशन है जो सम लंबाई के साथ 10 से बड़ी हेक्साडेसिमल संख्या से मेल खाता है -
^(?=.{10,255}$)(?:0x)?\p{XDigit}{2}(?:\p{XDigit}{2})*$
कहां,
-
^ - वाक्य की शुरुआत से मेल खाता है।
-
(?=.{10,255}$) - 10 से 255 तक के वर्णों के साथ समाप्त होने वाली स्ट्रिंग।
-
\p{XDigit}{2} - दो हेक्सा-दशमलव वर्ण।
-
(?:\p{XDigit}{2})* − 0 या डबल हेक्सा-दशमलव वर्णों के अधिक अनुक्रम।
-
$ - वाक्य के अंत से मेल खाता है।
उदाहरण 1
आयात करें ।में); स्ट्रिंग अंक [] =नया स्ट्रिंग [5]; for(int i=0; iआउटपुट
एक हेक्सा-दशमलव संख्या दर्ज करें:0x1234567890एक हेक्सा-दशमलव संख्या दर्ज करें:123456789एक हेक्सा-दशमलव संख्या दर्ज करें:123456789012एक हेक्सा-दशमलव संख्या दर्ज करें:sfdgdf35364एक हेक्सा-दशमलव संख्या दर्ज करें:$@%#BV#*0x1234567890 मान्य नहीं है123456789 वैलिड123456789012 है वैलिड्सfdgdf35364 मान्य नहीं है$@%#बीवी#* मान्य नहीं है
उदाहरण 2
आयात java.util.Scanner; सार्वजनिक वर्ग JavaExample {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] args) {स्कैनर sc =नया स्कैनर (System.in); System.out.println ("एक हेक्सा-दशमलव संख्या दर्ज करें:"); स्ट्रिंग नाम =sc.nextLine (); स्ट्रिंग रेगेक्स ="^(?=.{10,255}$)(?:0x)?\\p{XDigit}{2}(?:\\p{XDigit}{2})*$"; बूलियन परिणाम =नाम। मैच (रेगेक्स); if(result) { System.out.println ("दिया गया नंबर मान्य है"); }else { System.out.println ("दिया गया नंबर मान्य नहीं है"); } }}
आउटपुट 1
अपना नाम दर्ज करें:0x1234567890दिया गया नाम मान्य है
आउटपुट 2
हेक्सा-दशमलव संख्या दर्ज करें:024587545दी गई संख्या मान्य नहीं है