Swift में रेगुलर एक्सप्रेशन: पूर्ण गाइड उदाहरण सहित

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

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

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

Swift में रेगुलर एक्सप्रेशन का परिचय

\n\n

रेगुलर एक्सप्रेशन (regex) एक शक्तिशाली टूल है जो पैटर्न के आधार पर टेक्स्ट को खोजने, निकालने और बदलने में मदद करता है। Swift में रेगुलर एक्सप्रेशन के साथ काम करने के लिए Foundation फ्रेमवर्क का NSRegularExpression क्लास और स्ट्रिंग के बिल्ट-इन मेथड्स का उपयोग किया जाता है। iOS और macOS ऐप डेवलपमेंट में फॉर्म वैलिडेशन, डेटा पार्सिंग, टेक्स्ट फ़िल्टरिंग और कई अन्य कार्यों के लिए यह एक अनिवार्य टूल है।

\n\n

इस लेख में हम Swift में रेगुलर एक्सप्रेशन के साथ काम करने की मुख्य क्षमताओं को व्यावहारिक उदाहरणों के साथ समझेंगे। आप सीखेंगे कि पैटर्न कैसे बनाएं, खोज, बदलाव और डेटा निष्कर्षण कैसे करें।

\n\n

NSRegularExpression के साथ बुनियादी काम

\n\n

NSRegularExpression क्लास Swift में रेगुलर एक्सप्रेशन के साथ काम करने का मुख्य तरीका है। आइए बुनियादी ऑपरेशनों को देखें।

\n\n

रेगुलर एक्सप्रेशन बनाना

\n\n
import Foundation\n\nlet pattern = "[A-Za-z]+@[A-Za-z]+\\\\.[A-Za-z]+"\nguard let regex = try? NSRegularExpression(pattern: pattern) else {\n    fatalError("गलत पैटर्न")\n}
\n\n

डबल स्लैश \\\\ पर ध्यान दें — Swift स्ट्रिंग्स में बैकस्लैश को एस्केप करना आवश्यक है।

\n\n

पहला मैच ढूंढना

\n\n
let text = "हमसे ईमेल से संपर्क करें: support@example.com"\nlet nsString = text as NSString\nlet range = NSRange(location: 0, length: nsString.length)\n\nif let match = regex.firstMatch(in: text, range: range) {\n    let email = nsString.substring(with: match.range)\n    print("ईमेल मिला: \\(email)") // support@example.com\n}
\n\n

सभी मैच ढूंढना

\n\n
let text = "संपर्क: info@site.com, admin@site.com, support@site.com"\nlet matches = regex.matches(in: text, range: NSRange(location: 0, length: text.count))\n\nfor match in matches {\n    let range = match.range\n    let email = (text as NSString).substring(with: range)\n    print(email)\n}\n// आउटपुट:\n// info@site.com\n// admin@site.com\n// support@site.com
\n\n

कैप्चर ग्रुप का उपयोग

\n\n

कैप्चर ग्रुप मैच के कुछ हिस्सों को निकालने में मदद करते हैं। Swift में ग्रुप को गोल कोष्ठक () से दर्शाया जाता है।

\n\n

ग्रुप के साथ डेटा निकालना

\n\n
let pattern = "(\\\\d{4})-(\\\\d{2})-(\\\\d{2})"\nlet dateString = "आज: 2024-03-15"\n\nguard let regex = try? NSRegularExpression(pattern: pattern) else { return }\nlet nsString = dateString as NSString\n\nif let match = regex.firstMatch(in: dateString, range: NSRange(location: 0, length: nsString.length)) {\n    let fullDate = nsString.substring(with: match.range) // 2024-03-15\n    let year = nsString.substring(with: match.range(at: 1)) // 2024\n    let month = nsString.substring(with: match.range(at: 2)) // 03\n    let day = nsString.substring(with: match.range(at: 3)) // 15\n    \n    print("साल: \\(year), महीना: \\(month), दिन: \\(day)")\n}
\n\n

नामित ग्रुप (Range के साथ काम)

\n\n

Swift 5.7 से शुरू करके, Range के साथ अधिक सुविधाजनक सिंटैक्स का उपयोग किया जा सकता है:

\n\n
let text = "कीमत: 1500 रुपये"\nlet pattern = #"(\\d+)\\sरुपये"#\n\nif let range = text.range(of: pattern, options: .regularExpression) {\n    let match = text[range]\n    print("मिला: \\(match)") // 1500 रुपये\n}
\n\n

रेगुलर एक्सप्रेशन से टेक्स्ट बदलना

\n\n

सबसे उपयोगी सुविधाओं में से एक है पैटर्न के आधार पर टेक्स्ट के हिस्सों को बदलना।

\n\n

सरल बदलाव

\n\n
let text = "नंबर पर कॉल करें +7 (123) 456-78-90"\nlet pattern = "\\\\+7\\\\s\\\\(\\\\d{3}\\\\)\\\\s\\\\d{3}-\\\\d{2}-\\\\d{2}"\nlet replacement = "[नंबर छिपा हुआ]"\n\nguard let regex = try? NSRegularExpression(pattern: pattern) else { return }\nlet modifiedText = regex.stringByReplacingMatches(\n    in: text,\n    range: NSRange(location: 0, length: text.count),\n    withTemplate: replacement\n)\n\nprint(modifiedText) // नंबर पर कॉल करें [नंबर छिपा हुआ]
\n\n

बदलाव

ब्लॉग

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