মূল কন্টেন্টে যান
মডিউল 7 · 3-এর পাঠ 4কোর্সে 27/32~12 min
মডিউল পাঠ (3/4)

একটি কলব্যাক দিয়ে প্রতিস্থাপন করুন

যদি একটি প্রতিস্থাপন স্ট্রিং যথেষ্ট না হয়, একটি ফাংশন পাস করুন: str.replace(regex, (match, ...groups) => string) কলব্যাক আহ্বান করা হয় প্রতিটি ম্যাচের জন্য এবং এর রিটার্ন মান প্রতিস্থাপন হয়।

JS
'prezzi: 10 20 30'.replace(/\d+/g, (m) => Number(m) * 1.22);
// "prezzi: 12.2 24.4 36.6" (22% VAT)

কলব্যাক আর্গুমেন্ট

JS
str.replace(regex, (match, p1, p2, ..., offset, original, groups) => ...);
  • match -- পুরো ম্যাচ।
  • p1, p2, \u2026 -- ক্রমানুসারে কপচার করা গ্রুপ।
  • offset -- মূল স্ট্রিংয়ে মিলের সূচী।
  • original -- পুরো স্ট্রিং।
  • groups -- নামিত গোষ্ঠী সহ বস্তু (যদি থাকে)।
JS
'2024-03-15'.replace(/(\d{4})-(\d{2})-(\d{2})/, (_, a, m, g) => `${g}/${m}/${a}`);
// "15/03/2024"

কলব্যাক আপনাকে নিবিষ্ট ক্ষমতা দেয়: পার্সিং, লুকআপ, কনভার্সন, HTML এস্কেপিং\u2026 যা একটি স্ট্যাটিক স্ট্রিং করতে পারে না।

কলব্যাক প্রতিস্থাপনে উন্নত আর্গুমেন্ট

কলব্যাক ফাংশনটি বেশ কয়েকটি আর্গুমেন্ট গ্রহণ করে: সম্পূর্ণ মিল, প্রতিটি ক্যাপচার করা গ্রুপ, পুরো পাঠ্যের মধ্যে ম্যাচের অফসেট এবং মূল ইনপুট স্ট্রিং। এটি পরিশীলিত প্রসঙ্গ-ভিত্তিক রূপান্তর যুক্তি সক্ষম করে।

চেষ্টা করে দেখুন

ব্যায়াম#regex.m7.l3.e1
প্রচেষ্টা: 0লোড হচ্ছে...

পাঠ্যের প্রতিটি পূর্ণসংখ্যা খুঁজুন। (প্রতিস্থাপনে আপনি এটি দ্বিগুণ করতে `(m) => সংখ্যা(m) * 2` পাস করবেন।)

সম্পাদক লোড হচ্ছে...
ইঙ্গিত দেখান

প্রতিটি পূর্ণসংখ্যাকে একক মিল হিসাবে ক্যাপচার করতে \\d+ (এক বা একাধিক সংখ্যা) ব্যবহার করুন।

সমাধান 3 প্রচেষ্টার পরে উপলব্ধ

ব্যায়াম পর্যালোচনা করুন

ব্যায়াম#regex.m7.l3.e2
প্রচেষ্টা: 0লোড হচ্ছে...

প্রতিটি ইমেল খুঁজুন (সরলীকৃত ফর্ম: অক্ষর/সংখ্যা/বিন্দু/আন্ডারস্কোর @ ডোমেন)। এইভাবে একটি কলব্যাক এটিকে `***@ডোমেইন`-এ রিডাক্ট করতে পারে।

সম্পাদক লোড হচ্ছে...
ইঙ্গিত দেখান

ব্যবহারকারীর নাম এবং ডোমেনে বিন্দু গ্রহণ করতে ক্লাসটিকে [\\w.]+ এ প্রসারিত করুন।

সমাধান 3 প্রচেষ্টার পরে উপলব্ধ

অতিরিক্ত চ্যালেঞ্জ

ব্যায়াম#regex.m7.l3.e3
প্রচেষ্টা: 0লোড হচ্ছে...

Match every word consisting of letters in the text, so it can be transformed to uppercase via a callback.

সম্পাদক লোড হচ্ছে...
ইঙ্গিত দেখান

[a-zA-Z]+ সহ সাধারণ অক্ষর খুঁজুন।

সমাধান 3 প্রচেষ্টার পরে উপলব্ধ