মডিউল পাঠ (2/4)
মৌলিক প্রতিস্থাপন এবং `$1`
জাভাস্ক্রিপ্টে, String.prototype.replace(regex, replacement) একটি সম্পাদন করে
প্যাটার্ন ম্যাচ করে এবং প্রতিটি ম্যাচকে প্রদত্ত স্ট্রিং দিয়ে প্রতিস্থাপন করে। g এর সাথে
পতাকা এটি সমস্ত ম্যাচ প্রতিস্থাপন করে; এটা ছাড়া, শুধুমাত্র প্রথম. replaceAll
বিশ্বব্যাপী আচরণকে বাধ্য করে (এবং রেজেক্সে g পতাকা প্রয়োজন)।
'ciao mondo'.replace(/o/g, '0'); // "cia0 m0nd0"
'Mario Rossi'.replace(/(\w+) (\w+)/, '$2 $1'); // "Rossi Mario"প্রতিস্থাপন স্ট্রিং মধ্যে উল্লেখ
প্রতিস্থাপন স্ট্রিং এর ভিতরে, এগুলি বিশেষ:
$1,$2, \u2026 -- রেজেক্সের সংখ্যাযুক্ত গ্রুপ এর পিছনের রেফারেন্স।$<name>-- নামিত গ্রুপ এর পিছনের রেফারেন্স।$&-- পুরো ম্যাচ।$\_` -- text before the match.$'-- text after the match.$$-- a single literal$।
const data = '2024-03-15';
data.replace(/(\d{4})-(\d{2})-(\d{2})/, '$3/$2/$1');
// "15/03/2024"ক্রম উল্টে তারিখটি পুনরায় ফর্ম্যাট করুন। রেজেক্সে 3টি গ্রুপ রয়েছে এবং এর মধ্যে
প্রতিস্থাপন স্ট্রিং আপনি তাদের $1, $2, $3 হিসাবে উল্লেখ করেন।
প্রতিস্থাপনে বিশেষ উল্লেখ
$1 এবং $2 ছাড়াও, আপনি সম্পূর্ণ মিলে যাওয়া পাঠ্য সন্নিবেশ করতে $& ব্যবহার করতে পারেন, $ for all text preceding the match, and$'` এর অনুসরণ করা সমস্ত পাঠ্যের জন্য৷ এটি JS কোড না লিখেও সমৃদ্ধ প্রতিস্থাপনের অনুমতি দেয়।
চেষ্টা করে দেখুন
তিনটি গ্রুপ (বছর, মাস, দিন) সহ YYYY-MM-DD ফর্ম্যাটে প্রতিটি তারিখ খুঁজুন। এইভাবে আপনি DD/MM/YYYY পাওয়ার জন্য প্রতিস্থাপন ব্যবহার করতে পারেন।
ইঙ্গিত দেখান
\\d+ প্রতিস্থাপন করুন \\d{4}, \\d{2}, \\d{2} এর সাথে ক্যাপচার করা তিনটি গ্রুপের মধ্যে (...)।
সমাধান 3 প্রচেষ্টার পরে উপলব্ধ
ব্যায়াম পর্যালোচনা করুন
'প্রথম শেষ' দুটি নামযুক্ত গ্রুপ `নোম` এবং `কগনোম` হিসাবে খুঁজুন, যাতে আপনি `$<cognome>, $<nome>` ব্যবহার করে এটিকে `কগনোম, নোম` হিসাবে পুনরায় লিখতে পারেন।
ইঙ্গিত দেখান
\\s+ দ্বারা পৃথক করা (?<nome>\\w+) এবং (?<cognome>\\w+) ব্যবহার করুন।
সমাধান 3 প্রচেষ্টার পরে উপলব্ধ
অতিরিক্ত চ্যালেঞ্জ
Create a capture pattern to reverse the order of first and last name from `Lastname, Firstname` format to `Firstname Lastname`.
ইঙ্গিত দেখান
Use two capture groups for last and first name; the replacement will be performed via $2 $1.
সমাধান 3 প্রচেষ্টার পরে উপলব্ধ