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

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

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

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

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

\n\n

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

\n\n

रेगुलर एक्सप्रेशन क्या है?

\n\n

रेगुलर एक्सप्रेशन वर्णों का एक क्रम है जो टेक्स्ट में खोज के लिए एक पैटर्न निर्दिष्ट करता है। उदाहरण के लिए, पैटर्न \\\\d{3} लगातार तीन अंक ढूंढता है, और [A-Z]+ एक या अधिक बड़े अक्षर ढूंढता है।

\n\n

Kotlin में regex के साथ काम करने के लिए Regex क्लास का उपयोग किया जाता है, जिसे दो तरीकों से बनाया जा सकता है:

\n\n
// तरीका 1: कंस्ट्रक्टर के माध्यम से\nval regex1 = Regex("\\\\d+")\n\n// तरीका 2: toRegex() एक्सटेंशन के माध्यम से\nval regex2 = "\\\\d+".toRegex()\n
\n\n

Kotlin में Regex के मुख्य तरीके

\n\n

Regex क्लास स्ट्रिंग्स के साथ काम करने के लिए कई महत्वपूर्ण तरीके प्रदान करता है:

\n\n
    \n
  • matches() — जांचता है कि पूरी स्ट्रिंग पैटर्न से मेल खाती है या नहीं
  • \n
  • containsMatchIn() — जांचता है कि स्ट्रिंग में कम से कम एक मैच है या नहीं
  • \n
  • find() — पहला मैच ढूंढता है
  • \n
  • findAll() — सभी मैच ढूंढता है
  • \n
  • replace() — मैच को निर्दिष्ट स्ट्रिंग से बदलता है
  • \n
  • split() — पैटर्न के आधार पर स्ट्रिंग को विभाजित करता है
  • \n
\n\n

उदाहरण 1: ईमेल पता जांचना

\n\n

आइए एक व्यावहारिक उदाहरण से शुरू करें — ईमेल पते की सत्यता की जाँच:

\n\n
fun isValidEmail(email: String): Boolean {\n    val emailRegex = Regex("^[A-Za-z0-9+_.-]+@[A-Za-z0-9.-]+\\\\.[A-Za-z]{2,}$")\n    return emailRegex.matches(email)\n}\n\nfun main() {\n    val emails = listOf(\n        "user@example.com",\n        "invalid-email",\n        "test@domain.co.uk",\n        "@gmail.com"\n    )\n    \n    emails.forEach { email ->\n        println("$email: ${if (isValidEmail(email)) "मान्य" else "अमान्य"}")\n    }\n}\n
\n\n

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

\n
user@example.com: मान्य\ninvalid-email: अमान्य\ntest@domain.co.uk: मान्य\n@gmail.com: अमान्य
\n\n

उदाहरण 2: फ़ोन नंबर निकालना

\n\n

मान लीजिए कि हमारे पास विभिन्न फ़ोन नंबरों वाला एक टेक्स्ट है, और हम +7 (XXX) XXX-XX-XX प्रारूप में सभी नंबर निकालना चाहते हैं:

\n\n
fun extractPhoneNumbers(text: String): List {\n    val phoneRegex = Regex("""\\+7 \\(\\d{3}\\) \\d{3}-\\d{2}-\\d{2}""")\n    return phoneRegex.findAll(text).map { it.value }.toList()\n}\n\nfun main() {\n    val text = """\n        संपर्क:\n        प्रबंधक: +7 (495) 123-45-67\n        सहायता: +7 (812) 987-65-43\n        अतिरिक्त: 8-800-555-35-35\n    """.trimIndent()\n    \n    val phones = extractPhoneNumbers(text)\n    println("मिले नंबर:")\n    phones.forEach { println(it) }\n}\n
\n\n

परिणाम:

\n
मिले नंबर:\n+7 (495) 123-45-67\n+7 (812) 987-65-43
\n\n

ध्यान दें: नंबर 8-800-555-35-35 नहीं मिला, क्योंकि यह हमारे पैटर्न से मेल नहीं खाता।

\n\n

उदाहरण 3: टेक्स्ट बदलना और साफ करना

\n\n

रेगुलर एक्सप्रेशन टेक्स्ट के हिस्सों को बदलने के लिए बहुत उपयुक्त हैं। उदाहरण के लिए, एक स्ट्रिंग से सभी HTML टैग हटाएँ:

\n\n
fun removeHtmlTags(html: String): String {\n    val tagRegex = Regex("<[^>]*>")\n    return tagRegex.replace(html, "")\n}\n\nfun main() {\n    val htmlText = """\n        <h1>शीर्षक</h1>\n        <p>यह <b>महत्वपूर्ण</b> टेक्स्ट है।</p>\n        <a href="link.html">लिंक</a>\n    """.trimIndent()\n    \n    val cleanText = removeHtmlTags(htmlText)\n    println("साफ किया गया टेक्स्ट:")\n    println(cleanText)\n}\n
\n\n

परिणाम:

\n


                
                

ब्लॉग

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