ভূমিকা
আমি এখানে অনেকগুলি রেজেক্স চ্যালেঞ্জ দেখতে পাচ্ছি না, তাই আমি এই প্রতারণামূলকভাবে সহজ একটি প্রস্তাব দিতে চাই যা বেশ কয়েকটি রেজেেক্স স্বাদ ব্যবহার করে বিভিন্ন উপায়ে করা যায়। আমি আশা করি এটি রেগেক্স উত্সাহীদের কিছুটা মজাদার গল্ফিংয়ের সময় সরবরাহ করে।
চ্যালেঞ্জ
চ্যালেঞ্জটি হ'ল আমি "সমতাবাদী" সিরিজটি যে খুব স্বচ্ছন্দে ডাব করেছি তা মেলানো: বিভিন্ন চরিত্রের সমান সংখ্যার একটি সিরিজ। এটি উদাহরণ সহ সেরা বর্ণিত হয়েছে।
ম্যাচ:
aaabbbccc
xyz
iillppddff
ggggggoooooollllllffffff
abc
banana
মেলে না:
aabc
xxxyyzzz
iilllpppddff
ggggggoooooollllllfff
aaaaaabbbccc
aaabbbc
abbaa
aabbbc
সাধারণকরণের জন্য, আমরা ফর্মের একটি বিষয় (যে কোনও অক্ষরের তালিকার জন্য , যেখানে সবার জন্য) মেলাতে চাইc1)n(c2)n(c3)n...(ck)n
c1
ck
ci != ci+1
i, k > 1, and n > 0.
ব্যাখ্যা:
ইনপুট খালি হবে না।
একটি চরিত্র পরে স্ট্রিং এ নিজেকে পুনরাবৃত্তি করতে পারে (উদা। "কলা")
k > 1
, সুতরাং স্ট্রিংয়ে সর্বদা কমপক্ষে 2 টি আলাদা অক্ষর থাকবে।আপনি ধরে নিতে পারেন কেবলমাত্র ASCII অক্ষরগুলি ইনপুট হিসাবে পাস হবে এবং কোনও অক্ষর কোনও লাইন টার্মিনেটর হবে না।
বিধি
(দুর্দান্তভাবে বর্ণিত নিয়মের এই ব্লকটির জন্য মার্টিন ইন্ডারকে ধন্যবাদ)
আপনার উত্তরটিতে কোনও অতিরিক্ত কোড ছাড়াই একটি একক রেজেক্স সমন্বিত হওয়া উচিত (solutionচ্ছিকভাবে, আপনার সমাধানের কাজটি করার জন্য প্রয়োজনীয় রেজেেক্স সংশোধকগুলির একটি তালিকা)। আপনাকে অবশ্যই আপনার ভাষার রেজেেক্স গন্ধের বৈশিষ্ট্যগুলি ব্যবহার করবেন না যা আপনাকে হোস্টিং ভাষায় কোড উদ্বোধন করতে দেয় (যেমন পার্লের e
সংশোধক)।
আপনি এই চ্যালেঞ্জের আগে বিদ্যমান যে কোনও রেগেক্স স্বাদ ব্যবহার করতে পারেন তবে দয়া করে স্বাদটি নির্দিষ্ট করুন।
অনুমান করবেন না যে রেজেক্সটি স্পষ্টভাবে নোঙ্গর করেছে, উদাহরণস্বরূপ যদি আপনি পাইথন ব্যবহার করছেন তবে ধরে নিন যে আপনার রেজেক্স পুনরায় অনুসন্ধানের সাথে ব্যবহৃত হয়েছে, পুনর্নির্মাণের সাথে নয়। বৈধ সমতাবাদী স্ট্রিংয়ের জন্য আপনার রেজেক্সকে অবশ্যই পুরো স্ট্রিংয়ের সাথে মিল রাখতে হবে এবং অবৈধ স্ট্রিংয়ের জন্য কোনও মিল নেই। আপনি নিজের ইচ্ছামত ক্যাপচারিং গ্রুপগুলি ব্যবহার করতে পারেন।
আপনি ধরে নিতে পারেন ইনপুটটি সর্বদা দুটি বা ততোধিক ASCII অক্ষরের একটি স্ট্রিং থাকবে যাতে কোনও লাইন-টার্মিনেটর থাকে না।
এটি রিজেেক্স গল্ফ, তাই বাইটের মধ্যে সংক্ষিপ্ততম রেজেক্স। আপনার ভাষার যদি /.../
নিয়মিত অভিব্যক্তি বোঝাতে ডিলিমিটারগুলির (সাধারণত ) প্রয়োজন হয় তবে নিজেরাই সীমানা গণনা করবেন না। আপনার সমাধানের যদি সংশোধকগুলির প্রয়োজন হয় তবে প্রতি বর্ধক প্রতি বাইট যুক্ত করুন।
নির্ণায়ক
এটি হ'ল ওল 'ফ্যাশনের গল্ফ, তাই দক্ষতা ভুলে যান এবং নিজের রেজেক্সটিকে যতটা সম্ভব ছোট করার চেষ্টা করুন।
দয়া করে উল্লেখ করুন আপনি কোন রেজেক্স গন্ধটি ব্যবহার করেছেন এবং যদি সম্ভব হয় তবে ক্রিয়াতে আপনার অভিব্যক্তিটির একটি অনলাইন ডেমো দেখানো একটি লিঙ্ক অন্তর্ভুক্ত করুন।
banana
সমতাবাদী।