जावा में रेगुलर एक्सप्रेशन (Regex) उदाहरण सहित: व्यावहारिक गाइड

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

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

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

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

\n

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

\n

यह सामग्री जावा के नए डेवलपर्स और अनुभवी डेवलपर्स दोनों के लिए उपयोगी है। सभी उदाहरणों को आप अपनी IDE में तुरंत रन कर सकते हैं।

\n\n

1. Pattern और Matcher के साथ बेसिक काम

\n

जावा में regex के साथ काम करने की शुरुआत Pattern.compile() से होती है। इसके बाद Matcher ऑब्जेक्ट बनता है, जो पैटर्न को स्ट्रिंग पर लागू करता है।

\n

आइए एक सरल उदाहरण देखें: टेक्स्ट से सभी अंक खोजना।

\n
import java.util.regex.Matcher;\nimport java.util.regex.Pattern;\n\npublic class RegexDemo {\n    public static void main(String[] args) {\n        String text = "Java वर्जन 21 साल 2023 में आया";\n        String regex = "\\\\d+"; // एक या अधिक अंक\n\n        Pattern pattern = Pattern.compile(regex);\n        Matcher matcher = pattern.matcher(text);\n\n        while (matcher.find()) {\n            System.out.println("मिला: " + matcher.group());\n        }\n    }\n}
\n

प्रोग्राम का आउटपुट:

\n
मिला: 21\nमिला: 2023
\n

ध्यान दें: जावा में डबल स्लैश \\\\d का उपयोग होता है क्योंकि स्ट्रिंग लिटरल में बैकस्लैश को एस्केप करना पड़ता है। अगर regex में \\d चाहिए, तो कोड में \\\\d लिखें।

\n\n

2. रेगुलर एक्सप्रेशन का सिंटैक्स: मेटाकैरेक्टर और क्वांटिफायर

\n

Regex का प्रभावी उपयोग करने के लिए मुख्य मेटाकैरेक्टर याद रखें:

\n
    \n
  • . — कोई भी कैरेक्टर (न्यू लाइन को छोड़कर);
  • \n
  • \\\\d — अंक ([0-9] के समान);
  • \n
  • \\\\w — अक्षर, अंक या अंडरस्कोर ([a-zA-Z0-9_]);
  • \n
  • \\\\s — स्पेस कैरेक्टर;
  • \n
  • ^ — स्ट्रिंग की शुरुआत;
  • \n
  • $ — स्ट्रिंग का अंत।
  • \n
\n

क्वांटिफायर दोहराव की संख्या नियंत्रित करते हैं:

\n
    \n
  • + — एक या अधिक बार;
  • \n
  • * — शून्य या अधिक बार;
  • \n
  • ? — शून्य या एक बार;
  • \n
  • {n} — ठीक n बार;
  • \n
  • {n,m} — n से m बार तक।
  • \n
\n

उदाहरण: केवल अंग्रेजी अक्षरों वाले 3 से 5 कैरेक्टर लंबे शब्द खोजें।

\n
String text = "Java regex example for beginners";\nString regex = "\\\\b[a-zA-Z]{3,5}\\\\b";\n\nPattern pattern = Pattern.compile(regex);\nMatcher matcher = pattern.matcher(text);\n\nwhile (matcher.find()) {\n    System.out.println(matcher.group());\n}\n// आउटपुट: Java, regex, for
\n

वर्ड बाउंड्री \\\\b आंशिक मिलान को रोकता है (जैसे "Java" "JavaScript" का हिस्सा नहीं बनेगा)।

\n\n

3. व्यावहारिक उदाहरण: वैलिडेशन और डेटा निकालना

\n

अब रियल डेवलपमेंट में आम कार्यों पर चलते हैं।

\n\n

3.1. ईमेल पता वैलिडेशन

\n

सरल जांच: "@" सिंबल और डोमेन की उपस्थिति।

\n
public static boolean isValidEmail(String email) {\n    String regex = "^[\\\\w.-]+@[\\\\w.-]+\\\\.\\\\w{2,}$";\n    return Pattern.matches(regex, email);\n}\n\npublic static void main(String[] args) {\n    System.out.println(isValidEmail("user@example.com")); // true\n    System.out.println(isValidEmail("invalid-email"));    // false\n}
\n

Pattern.matches() मेथड पूरी स्ट्रिंग को चेक करता है (matcher.matches() के समान)।

\n\n

3.2. फोन नंबर निकालना

\n

मान लें टेक्स्ट में "+7 (999) 123-45-67" फॉर्मेट में नंबर हैं।

\n
String text = "संपर्क: +                

ब्लॉग

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