जावा में उदाहरणों के साथ रेगुलर एक्सप्रेशन: पूर्ण गाइड

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

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

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

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



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



इस लेख में, हम जावा में रेगुलर एक्सप्रेशन का प्रभावी ढंग से उपयोग करने का तरीका समझेंगे, बुनियादी सिंटैक्स से शुरू करके डेवलपमेंट प्रैक्टिस के वास्तविक उदाहरणों तक।



1. जावा में रेगुलर एक्सप्रेशन सिंटैक्स की मूल बातें



जावा कोड पर जाने से पहले, रेगुलर एक्सप्रेशन के मुख्य मेटाकैरेक्टर को समझना महत्वपूर्ण है:



  • . — कोई भी एकल कैरेक्टर (न्यू लाइन को छोड़कर)
  • \\d — कोई भी अंक (0-9)
  • \\w — अक्षर, अंक या अंडरस्कोर
  • \\s — व्हाइटस्पेस कैरेक्टर (स्पेस, टैब, न्यू लाइन)
  • * — पिछले कैरेक्टर की 0 या अधिक पुनरावृत्तियाँ
  • + — 1 या अधिक पुनरावृत्तियाँ
  • ? — 0 या 1 पुनरावृत्ति (कैरेक्टर को वैकल्पिक बनाता है)
  • ^ — स्ट्रिंग की शुरुआत
  • $ — स्ट्रिंग का अंत
  • [...] — कैरेक्टर क्लास (उदाहरण के लिए, [a-z] — सभी छोटे अक्षर)
  • (...) — कैप्चर ग्रुप


महत्वपूर्ण: जावा में, रेगुलर एक्सप्रेशन वाली स्ट्रिंग्स को डबल एस्केपिंग की आवश्यकता होती है। उदाहरण के लिए, \\d का उपयोग करने के लिए, कोड में "\\\\d" लिखें। ऐसा इसलिए है क्योंकि बैकस्लैश को पहले जावा कंपाइलर द्वारा प्रोसेस किया जाता है, फिर regex इंजन को भेजा जाता है।



2. Pattern और Matcher क्लास — जावा में regex के साथ काम करने का आधार



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



  1. पैटर्न स्ट्रिंग को कंपाइल करके Pattern ऑब्जेक्ट बनाना
  2. जांच की जाने वाली स्ट्रिंग पर matcher() मेथड को कॉल करके Matcher ऑब्जेक्ट बनाना
  3. संचालन निष्पादित करना — खोज, मिलान, प्रतिस्थापन


उदाहरण 1: पूरी स्ट्रिंग के मिलान की जांच



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

public class RegexExample { public static void main(String[] args) { // जांच करना कि क्या स्ट्रिंग एक वैध ईमेल पता है String email = "user@example.com"; String emailPattern = "^[A-Za-z0-9+_.-]+@(.+)$"; Pattern pattern = Pattern.compile(emailPattern); Matcher matcher = pattern.matcher(email); if (matcher.matches()) { System.out.println("Email मान्य है"); } else { System.out.println("Email अमान्य है"); } }}


matches() मेथड पैटर्न को पूरी स्ट्रिंग से मिलाने का प्रयास करता है। यदि यह जांचना है कि स्ट्रिंग में पैटर्न का मिलान है या नहीं (पूरी तरह से आवश्यक नहीं), तो find() मेथड का उपयोग किया जाता है।



उदाहरण 2: स्ट्रिंग में पैटर्न के सभी उदाहरण खोजना



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

public class FindExample { public static void main(String[] args) { String text = "Java 8, Java 11, Java 17 — ये जावा भाषा के संस्करण हैं"; String regex = "Java\\\\s+\\\\d+"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(text); while (matcher.find()) { System.out.println("मिला: " + matcher.group() + " (स्थिति: " + matcher.start() + "-" + matcher.end() + ")"); } }}


निष्पादन परिणाम:

मिला: Java 8 (स्थिति: 0-6)मिला: Java 11 (स्थिति: 8-15)

ब्लॉग

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