চ্যালেঞ্জ
একটি বৈধ regex দেওয়া, আউটপুট একটি regex যা একই স্ট্রিং এর সেট সেট, কিন্তু বিপরীত।
কাজটি
এই চ্যালেঞ্জ সবচেয়ে মৌলিক Regex অপারেশন ব্যবহার করে: ^
, $
, ?
, +
, *
, []
, {}
, |
। ক্যাপচার গ্রুপ বা সেই জটিল স্টাফগুলির মতো কোনও জিনিস নেই। বিশেষ চরিত্রগুলি এড়ানো যেতে পারে।
নমুনা ইনপুট / আউটপুট
দ্রষ্টব্য: অবৈধ ইনপুট কখনই দেওয়া হবে না এবং প্রদত্ত ইনপুটটির জন্য সাধারণত একাধিক সম্ভাব্য উত্তর থাকে!
Input | Sample Output
-----------|-------------
abc | cba
tuv? | v?ut
a(b|c) | (c|b)a
1[23] | [23]1
a([bc]|cd) | (dc|[bc])a
^a[^bc]d$ | ^d[^bc]a$
x[yz]{1,2} | [yz]{1,2}x
p{2} | p{2}
q{7,} | q{7,}
\[c[de] | [de]c\[
ab[c | <output undefined>
a(?bc) | <output undefined>
a[]]bc | <output undefined>
ডেমো
ওয়ার্কিং ডেমো যা সঠিক ইনপুট / আউটপুট প্রদর্শন করে। ইনপুটগুলি বৈধকরণের জন্য এটিতে কিছু অতিরিক্ত যুক্তি রয়েছে যা আসল উত্তরের জন্য প্রয়োজনীয় নয়। অবৈধ ইনপুটগুলি অপরিজ্ঞাত আচরণ হিসাবে বিবেচনা করুন।
সুনির্দিষ্ট
সরলতার জন্য, সমস্ত বিশেষ অক্ষরের হয় তাদের বিশেষ অর্থ হয় বা পালিয়ে যায়; এটি হল, [[]
কোনও চরিত্রের জন্য নয় [
। দৈর্ঘ্যের ব্যাপ্তিগুলি স্ট্যান্ডার্ড পসিক্স পূর্ব থেকে আসে; যে {n}
, {n,}
এবং {n,m}
সমর্থিত। চরিত্র পরিসীমা []
এবং [^]
সমর্থিত। এই নিয়মগুলির কারণে এবং যেহেতু কোনও অবৈধ ইনপুট দেওয়া হয়নি, আপনার সত্যিকারের কেবলমাত্র আউটপুটে সরাসরি এই বিষয়বস্তু অনুলিপি করা প্রয়োজন। শেষ অবধি, লোভ কিছু বিবেচনা করে না, অর্থাৎ বিপরীত রেজেক্স প্রথমে আলাদা ম্যাচটি আবিষ্কার করে তা বিবেচনা করে না , কেবল একই স্ট্রিংয়ের জন্য একটি ম্যাচ খুঁজে পাওয়া দরকার।
স্কোরিং
বাইটের ক্ষুদ্রতম প্রোগ্রাম (নেটওয়ার্ক অনুরোধের মতো প্রতারণা বাদ দিয়ে) জয়ী হয়। প্রোগ্রাম হয় হয় আসল IO ব্যবহার করতে পারেন বা কেবল একটি ফাংশন সংজ্ঞায়িত করতে পারেন।
(^a|b)(c$|d)
যদিও পরীক্ষার কেস হিসাবে কিছু যুক্ত করতে চাইবেন ।
(a)?(b)+
বাছাইকারীদের বিবেচনা করা উচিত ↦ (b)+(a)?
?
()
, যা আপনার উদাহরণে ব্যবহৃত হয়।
?
সংযুক্ত করার মতো কিছুই নেই ।/a(?bc)/
ব্রাউজারের কনসোলে টাইপ করার চেষ্টা করুন ।