আমি কীভাবে এমন একটি নিয়মিত এক্সপ্রেশন তৈরি করব যা কোনও পাঠ্যে হেক্সাডেসিমাল সংখ্যা সনাক্ত করে?
উদাহরণস্বরূপ, '0x0f4', '0ac دادecf822eeff32aca5830e438cb54aa722e3', এবং '8BADF00D'।
আমি কীভাবে এমন একটি নিয়মিত এক্সপ্রেশন তৈরি করব যা কোনও পাঠ্যে হেক্সাডেসিমাল সংখ্যা সনাক্ত করে?
উদাহরণস্বরূপ, '0x0f4', '0ac دادecf822eeff32aca5830e438cb54aa722e3', এবং '8BADF00D'।
উত্তর:
নিম্নলিখিত সম্পর্কে কীভাবে?
0[xX][0-9a-fA-F]+
নিম্নের সাথে বড় হাতের অক্ষর x দ্বারা অনুসরণ করে 0 দিয়ে শুরু হওয়া এক্সপ্রেশনটির সাথে মিল রয়েছে, তার পরে 0-9, বা AF, বা AF এর রেঞ্জের এক বা একাধিক অক্ষর রয়েছে
/0x[\da-f]/i, তবে অন্যথায়, +1।
সঠিক বাক্য গঠন আপনার সঠিক প্রয়োজনীয়তা এবং প্রোগ্রামিং ভাষার উপর নির্ভর করে তবে মূলত:
/[0-9a-fA-F]+/
বা আরও সহজভাবে, iএটি কেস-সংবেদনশীল করে তোলে।
/[0-9a-f]+/i
আপনি যদি রুবি ব্যবহারের জন্য যথেষ্ট ভাগ্যবান হন তবে আপনি এটি করতে পারেন:
/\h+/
সম্পাদনা - স্টিভেন শ্রোয়েডারের উত্তর আমাকে বুঝতে পেরেছিল যে 0x বিট সম্পর্কে আমার বোঝা ভুল ছিল, তাই আমি সে অনুযায়ী আমার পরামর্শগুলি আপডেট করেছি। আপনি যদি 0x মেলাতে চান তবে সমতুল্য
/0[xX][0-9a-fA-F]+/
/0x[0-9a-f]+/i
/0x[\h]+/i
আরও যুক্ত করুন - যদি 0x alচ্ছিক হওয়া প্রয়োজন (যেমন প্রশ্নটি বোঝায়):
/(0x)?[0-9a-f]+/i
এটি 0xউপসর্গের সাথে বা ছাড়া মিলবে
(?:0[xX])?[0-9a-fA-F]+
এটি উল্লেখ করার মতো যে একটি MD5 সনাক্তকরণ (যা উদাহরণগুলির মধ্যে একটি) এর মাধ্যমে করা যেতে পারে:
[0-9a-fA-F]{32}
আপনি যদি পার্ল বা পিএইচপি ব্যবহার করছেন তবে আপনি প্রতিস্থাপন করতে পারেন
[0-9a-fA-F]
সঙ্গে:
[[:xdigit:]]
আপনি যদি স্ট্রিংয়ের মাঝখানে একটি নির্দিষ্ট হেক্স অক্ষর সন্ধান করছেন তবে আপনি "\ xhh" ব্যবহার করতে পারেন যেখানে hh হেক্সাডেসিমালের চরিত্র। আমি চেষ্টা করেছি এবং এটি কাজ করে। আমি সি ++ কিউটি জন্য কাঠামো ব্যবহার করি তবে এটি অন্যান্য ক্ষেত্রে সমস্যার সমাধান করতে পারে, আপনার যে স্বাদটি ব্যবহার করা প্রয়োজন তার উপর নির্ভর করে (পিএইচপি, জাভাস্ক্রিপ্ট, পাইথন, গোলং ইত্যাদি)।
এই উত্তরটি নেওয়া হয়েছিল: http://ult-tex.net/info/perl/
এইটি নিশ্চিত করে যে আপনার কাছে আরও তিনটি বৈধ জোড় নেই:
(([a-fA-F]|[0-9]){2}){3}
বৈধ অক্ষরের আরও তিনটি বা কম জোড় মিলতে ব্যর্থ।
যদি কোনও ইনপুটটির মধ্যে আপনার এটির প্রয়োজন হয় যেখানে ব্যবহারকারী টাইপ করতে পারে 0এবং প্রিফিক্স 0xব্যতীত কোনও হেক্স নম্বর নয় তবে 0x:
^0?[xX]?[0-9a-fA-F]*$
আর একটি উদাহরণ: সিএসএস রঙের জন্য হেক্সাডেসিমাল মানগুলি পাউন্ড সাইন, বা হ্যাশ (#) দিয়ে শুরু হয়, তারপরে ছয়টি অক্ষর যা হয় একটি সংখ্যা বা এ এবং এফ এর মধ্যে একটি বর্ণ হতে পারে, সমেত।
^#[0-9a-fA-F]{6}