जावा में रेगुलर एक्सप्रेशन उदाहरण सहित: शुरुआती लोगों के लिए

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

जावा में रेगुलर एक्सप्रेशन: शुरुआती लोगों के लिए पूरी गाइड

\n\n

रेगुलर एक्सप्रेशन (regex) पैटर्न के आधार पर टेक्स्ट खोजने, निकालने और बदलने के लिए एक शक्तिशाली उपकरण है। जावा में, रेगुलर एक्सप्रेशन के साथ काम करना पैकेज java.util.regex के माध्यम से कार्यान्वित किया जाता है। इस लेख में, हम जावा में रेगुलर एक्सप्रेशन की मूल बातें समझेंगे, Pattern और Matcher क्लास का उपयोग करना सीखेंगे, और व्यावहारिक उदाहरण देखेंगे।

\n\n

1. जावा में regex के साथ काम करने के लिए मुख्य क्लास

\n\n

जावा में रेगुलर एक्सप्रेशन के साथ काम करने के लिए दो मुख्य क्लास का उपयोग किया जाता है:

\n\n
    \n
  • Pattern — एक संकलित रेगुलर एक्सप्रेशन का प्रतिनिधित्व करता है।
  • \n
  • Matcher — टेक्स्ट के साथ खोज और मिलान संचालन करता है।
  • \n
\n\n

एक सुविधाजनक विधि String.matches() भी है, जो जल्दी से जांचने की अनुमति देती है कि स्ट्रिंग पैटर्न से मेल खाती है या नहीं, लेकिन यह कम लचीली है।

\n\n

उदाहरण 1: सरल मिलान

\n\n
import java.util.regex.*;\n\npublic class RegexExample1 {\n    public static void main(String[] args) {\n        String text = "नमस्ते, दुनिया! Java सबसे अच्छी भाषा है।";\n        String pattern = "Java";\n\n        Pattern p = Pattern.compile(pattern);\n        Matcher m = p.matcher(text);\n\n        if (m.find()) {\n            System.out.println("शब्द मिला: " + m.group());\n        } else {\n            System.out.println("कोई मिलान नहीं");\n        }\n    }\n}
\n\n

आउटपुट: शब्द मिला: Java

\n\n

2. मेटाकैरेक्टर और कैरेक्टर क्लास

\n\n

रेगुलर एक्सप्रेशन पैटर्न का वर्णन करने के लिए विशेष प्रतीकों (मेटाकैरेक्टर) का उपयोग करते हैं:

\n\n
    \n
  • . — कोई भी कैरेक्टर (न्यू लाइन को छोड़कर)
  • \n
  • \\d — अंक [0-9]
  • \n
  • \\D — अंक नहीं
  • \n
  • \\w — अक्षर, अंक या अंडरस्कोर [a-zA-Z0-9_]
  • \n
  • \\W — शब्द नहीं
  • \n
  • \\s — व्हाइटस्पेस कैरेक्टर
  • \n
  • \\S — व्हाइटस्पेस कैरेक्टर नहीं
  • \n
  • [abc] — a, b या c में से एक कैरेक्टर
  • \n
  • [^abc] — a, b, c को छोड़कर कोई भी कैरेक्टर
  • \n
\n\n

उदाहरण 2: टेक्स्ट में अंक खोजना

\n\n
import java.util.regex.*;\n\npublic class RegexExample2 {\n    public static void main(String[] args) {\n        String text = "मेरा नंबर: 123-456-7890";\n        String pattern = "\\\\d+"; // एक या अधिक अंक\n\n        Pattern p = Pattern.compile(pattern);\n        Matcher m = p.matcher(text);\n\n        while (m.find()) {\n            System.out.println("संख्या मिली: " + m.group());\n        }\n    }\n}
\n\n

आउटपुट:

\n
संख्या मिली: 123\nसंख्या मिली: 456\nसंख्या मिली: 7890
\n\n

3. क्वांटिफायर और सीमाएँ

\n\n

क्वांटिफायर यह निर्दिष्ट करते हैं कि पैटर्न के एक तत्व को कितनी बार दोहराया जाना चाहिए:

\n\n
    \n
  • * — 0 या अधिक बार
  • \n
  • + — 1 या अधिक बार
  • \n
  • ? — 0 या 1 बार
  • \n
  • {n} — ठीक n बार
  • \n
  • {n,} — n या अधिक बार
  • \n
  • {n,m} — n से m बार तक
  • \n
\n\n

सीमाएँ यह निर्दिष्ट करने में मदद करती हैं कि पैटर्न कहाँ होना चाहिए:

\n\n
    \n
  • ^ — स्ट्रिंग की शुरुआत
  • \n
  • $ — स्ट्रिंग का अंत
  • \n
  • \\b — शब्द की सीमा
  • \n
\n\n

उदाहरण 3: ईमेल पता सत्यापन

\n\n
import java.util.regex.*;\n\npublic class RegexExample3 {\n    public static void main(String[] args) {\n        String email = "user@example.com";\n        String pattern = "^[\\\\w.-]+@[\\\\w.-]+\\\\.\\\\w{2,}$";\n\n        boolean isValid = Pattern.matches(pattern, email);\n        System.out.println("ईमेल मान्य है: " + isValid);\n    }\n}
\n\n

आउटपुट: ईमेल मान्य है: true

\n\n

4. कैप्चर ग्रुप और टेक्स्ट बदलना

\n\n

कैप्चर ग्रुप आपको भाग निकालने की अनुमति देते हैं

ब्लॉग

पुस्तक अनुशंसाएँ