ওয়ার্ম আপ: রেজেক্স, পেপার, কাঁচি
কিছু খুব সংক্ষিপ্ত সমাধানের উপস্থিতি বুঝতে পেরে আমি এই চ্যালেঞ্জটিই মূলত পোস্ট করতে চেয়েছিলাম। তবুও, নীচের আসল চ্যালেঞ্জের জন্য প্রস্তুতি নিয়ে ভাবা একটি আকর্ষণীয় সমস্যা হতে পারে।
আর , পি এবং এস জাতীয় তিনটি রেজেক্স লিখুন যে তারা একে অপরের সাথে একটি চক্রাকার রক, পেপার, কাঁচি ফ্যাশনে মেলে। বিশেষ করে, আর সাথে মেলে এস , এস ম্যাচ পি এবং পি মিলে যায় আর কিন্তু আর নেই মেলে পি , এস না মেলে আর এবং পি মিলছে না এস । এখানে একটি সহজ টেবিল:
Regex Matches Doesn't match
R S P
P R S
S P R
আর , পি এবং এস নিজের সাথে অন্য কোনও ইনপুটগুলিতে কী করেন তা বিবেচ্য নয়।
এখানে, মিলের অর্থ হ'ল ইনপুটটির কিছু (সম্ভবত খালি) স্ট্রিংয়ের সাথে মিল রয়েছে। ম্যাচের পুরো ইনপুটটি কভার করার দরকার নেই।
চ্যালেঞ্জ: রেজেক্স, পেপার, কাঁচি, টিকটিকি, স্পক
এই চ্যালেঞ্জের জন্য, আপনি আরপিএস ভেরিয়েন্ট রক, পেপার, কাঁচি, টিকটিকি, স্পক ( দ্য বিগ ব্যাং থিওরি দ্বারা জনপ্রিয় ) এর উপর ভিত্তি করে উপরের সমস্যার আরও শক্ত সংস্করণটি সমাধান করবেন । আরপিএসএলভিতে, পাঁচটি পৃথক চিহ্ন রয়েছে, যা একে অপরকে দুটি চক্রের কাছে পরাজিত করে:
- রক → কাঁচি → টিকটিকি → কাগজ → স্পোক → রক
- রক → টিকটিকি → স্পক → কাঁচি → কাগজ → রক
আপনার পাঁচটি রেজেক্সগুলি R , P , S , L এবং V লিখতে হবে যা একে অন্যকে ইনপুট হিসাবে দেওয়ার সময় এই কাঠামোর নকল করে। এখানে সম্পর্কিত টেবিল:
Regex Matches Doesn't match
R L, S V, P
L V, P S, R
V S, R P, L
S P, L R, V
P R, V L, S
শুধু থেকে পরিষ্কার হতে, আপনি উচিত না স্ট্রিং মেলে R
, P
ইত্যাদি, কিন্তু অন্যান্য regexes। যেমন যদি আপনার Regex আর হয় ^\w$
উদাহরণস্বরূপ, তারপর পি এবং ভী স্ট্রিং মেলে আছে ^\w$
, যেহেতু এস এবং এল না করা উচিত।
আবার, মিলের অর্থ হ'ল ইনপুটটির অন্তত একটি (সম্ভবত খালি) স্ট্রিংয়ের সাথে মিল রয়েছে। ম্যাচের পুরো ইনপুটটি কভার করার দরকার নেই। উদাহরণস্বরূপ \b
(শব্দের সীমানা) ম্যাচগুলি hello
(শুরুতে এবং শেষে), তবে এটি মেলে না (^,^)
।
আপনি যে কোনও রেইগেক্স গন্ধ ব্যবহার করতে পারেন তবে দয়া করে আপনার উত্তরের পছন্দটি উল্লেখ করুন এবং যদি সম্ভব হয় তবে নির্বাচিত গন্ধটির জন্য একটি অনলাইন পরীক্ষকের লিঙ্ক সরবরাহ করুন। আপনি কোনও রিজেক্স বৈশিষ্ট্য ব্যবহার করতে পারবেন না যা আপনাকে স্বাদের হোস্ট ভাষাতে (পার্ল ফ্লেভারের e
সংশোধকের মতো) কোড চাওয়ার অনুমতি দেয় ।
/regex/
অন্যকে ইনপুট হিসাবে দেওয়ার সময় ডিলিমিটারগুলি (যেমন ) রেজিজেলে অন্তর্ভুক্ত থাকে না এবং আপনি রেজিজের বাইরে থাকা সংশোধক ব্যবহার করতে পারবেন না। কিছু স্বাদ এখনও আপনাকে ইনলাইন সিনট্যাক্সের মতো মডিফায়ার ব্যবহার করতে দেয় (?s)
।
আপনার স্কোরটি বাইটে পাঁচটি রেজেক্সসের দৈর্ঘ্যের যোগফল। স্বল্পতা ভালো.
এটি সক্রিয় আউট এটি অনেক বেশি সহজ হবে একটি এই সমস্যার তুলনায় এটি প্রথমে মনে হতে পারে জন্য কাজ সমাধান, কিন্তু আমি আশা করি যে একটি সন্তোষজনক সমাধান খোঁজার বেশ চতুর হয়।
\b
(শব্দের সীমানা) ম্যাচগুলি hello
(শুরুতে এবং শেষে) তবে এটি মেলে না (^,^)
। "