मॉड्यूल पाठ (3/4)
यूआरएल और आईपी निकालना
मुफ़्त टेक्स्ट (लॉग, लेख, डंप) में यूआरएल निकालना आम बात है और आईपी पते। आइए दोनों के लिए मजबूत पैटर्न देखें।
http/https यूआरएल
Pattern: https?:\/\/[\w.-]+(?:\:\d+)?(?:\/[^\s]*)?https?:\/\/-- योजना,sवैकल्पिक के साथ।[\w.-]+-- होस्ट (डोमेन, उपडोमेन, संभवतःlocalhost)।(?:\:\d+)?-- वैकल्पिक पोर्ट।(?:\/[^\s]*)?-- वैकल्पिक पथ, पहले रिक्त स्थान तक।
कैप्चर https://example.com, http://localhost:3000/api/users,
https://docs.dev/path?query=value.
आईपीवी 4
एक IPv4 बिंदुओं द्वारा अलग किए गए 4 दशमलव ऑक्टेट हैं:
Pattern: \b(?:\d{1,3}\.){3}\d{1,3}\b"काफी अच्छा" संस्करण: यह अमान्य मानों को भी स्वीकार करता है
999.999.999.999. सख्त संस्करण के लिए आपको रेंज विकल्प की आवश्यकता होगी
(25[0-5]|2[0-4]\d|[01]?\d\d?), जो काफी लंबा है।
Pattern (strict): \b(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\bपरिशुद्धता बनाम संक्षिप्तता
यूआरएल या आईपी के मिलान के लिए पैटर्न सहनशीलता को संतुलित करने की आवश्यकता होती है। एक सख्त आईपी सत्यापनकर्ता सत्यापित करता है कि कोई भी ऑक्टेट 255 से अधिक नहीं है। दूसरी ओर, एक व्यावहारिक एक्सट्रैक्टर, आम तौर पर सरलीकृत पैटर्न की तलाश करता है और समर्पित कोड के लिए बढ़िया सत्यापन सौंपता है।
इसे अजमाएं
टेक्स्ट में प्रत्येक http या https URL ढूंढें। योजना + होस्ट + वैकल्पिक पथ।
संकेत दिखाएँ
https? वैकल्पिक s के लिए, [\\w.-]+ डोमेन के लिए, और एक समूह (?:\\/[^\\s]*)? वैकल्पिक पथ के लिए.
3 प्रयासों के बाद समाधान उपलब्ध है
व्यायाम की समीक्षा करें
प्रत्येक IPv4 (डॉट्स द्वारा अलग किए गए 4 दशमलव ऑक्टेट) खोजें। अनुमेय संस्करण, संख्या 0-255 चेक।
संकेत दिखाएँ
'ऑक्टेट + डॉट' को 3 बार दोहराने के लिए (?:\\d{1,3}\\.){3} का उपयोग करें, फिर आखिरी के लिए \\d{1,3} का उपयोग करें।
3 प्रयासों के बाद समाधान उपलब्ध है
अतिरिक्त चुनौती
Find all IPv4 addresses in the format `X.X.X.X` (composed of four 1-to-3 digit numbers separated by dots).
संकेत दिखाएँ
Use \b to enforce boundaries, (?:\d{1,3}\.){3} to repeat the octet and dot three times, and finally \d{1,3}.
3 प्रयासों के बाद समाधान उपलब्ध है