مرکزی مواد پر جائیں
ماڈیول 8 · سبق 3 از 4کورس میں 31/32~12 min
ماڈیول اسباق (3/4)

یو آر ایل اور آئی پی نکالنا

مفت متن میں (نوشتہ جات، مضامین، ڈمپ) URLs نکالنا چاہتے ہیں اور IP پتے۔ آئیے دونوں کے لیے مضبوط نمونوں کو دیکھتے ہیں۔

http/https URLs

Code
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

IPv4

ایک IPv4 4 اعشاریہ آکٹیٹ ہے جو نقطوں سے الگ کیا گیا ہے:

Code
Pattern: \b(?:\d{1,3}\.){3}\d{1,3}\b

"کافی اچھا" ورژن: یہ غلط اقدار کو بھی قبول کرتا ہے۔ 999.999.999.999 سخت ورژن کے لیے آپ کو رینج میں ردوبدل کی ضرورت ہوگی۔ (25[0-5]|2[0-4]\d|[01]?\d\d?)، جو بہت طویل ہے۔

Code
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

درستگی بمقابلہ اختصار

یو آر ایل یا آئی پی کے ملاپ کے لیے پیٹرن کی رواداری کو متوازن کرنے کی ضرورت ہوتی ہے۔ ایک سخت IP توثیق کرنے والا اس بات کی تصدیق کرتا ہے کہ کوئی آکٹیٹ 255 سے زیادہ نہیں ہے۔ دوسری طرف، ایک عملی ایکسٹریکٹر، عام طور پر آسان نمونوں کی تلاش کرتا ہے اور وقف شدہ کوڈ پر ٹھیک توثیق کرتا ہے۔

اسے آزمائیں

ورزش#regex.m8.l3.e1
کوششیں: 0لوڈ ہو رہا ہے…

متن میں ہر HTTP یا https URL تلاش کریں۔ اسکیم + میزبان + اختیاری راستہ۔

ایڈیٹر لوڈ ہو رہا ہے…
اشارہ دکھائیں۔

https؟ اختیاری s کے لیے، [\\w.-]+ ڈومین کے لیے، اور ایک گروپ (?:\\/[^\\s]*)؟ اختیاری راستے کے لیے۔

3 کوششوں کے بعد حل دستیاب ہے۔

ورزش کا جائزہ لیں۔

ورزش#regex.m8.l3.e2
کوششیں: 0لوڈ ہو رہا ہے…

ہر IPv4 تلاش کریں (4 اعشاریہ آکٹٹس نقطوں سے الگ کیے گئے ہیں)۔ اجازت دینے والا ورژن، کوئی 0-255 چیک نہیں۔

ایڈیٹر لوڈ ہو رہا ہے…
اشارہ دکھائیں۔

'octet + dot' کو 3 بار دہرانے کے لیے (?:\\d{1,3}\\.){3} استعمال کریں، پھر آخری کے لیے \\d{1,3}۔

3 کوششوں کے بعد حل دستیاب ہے۔

اضافی چیلنج

ورزش#regex.m8.l3.e3
کوششیں: 0لوڈ ہو رہا ہے…

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 کوششوں کے بعد حل دستیاب ہے۔