কম্পিউটার

নিয়মিত অভিব্যক্তির জন্য শিক্ষানবিস গাইড

নিয়মিত অভিব্যক্তির জন্য শিক্ষানবিস গাইড

আপনি কি কখনও পাঠ্যের একটি অংশে একটি পুনরাবৃত্ত প্যাটার্ন খুঁজে বের করার চেষ্টা করেছেন? আপনি হয়তো আপনার ব্রাউজারে বা ওয়ার্ড প্রসেসরে সার্চ ফাংশনের মতো কিছু ব্যবহার করেছেন, কিন্তু যখন আপনাকে আরও জটিল কিছু খুঁজে বের করতে হবে, তখন তা হতে পারে প্রবাদের খড়ের গাদায় সুই খোঁজার মতো।

সৌভাগ্যবশত, অক্ষরের ঠিক নিচে টেক্সটে সুনির্দিষ্ট নিদর্শন বাছাই করার একটি উপায় আছে। এটিকে রেগুলার এক্সপ্রেশন (RegEx) বলা হয় এবং এটি আপনাকে পাঠ্যের মাধ্যমে অনুসন্ধানে দক্ষ হতে দেয়।

আমি RegEx কোথায় ব্যবহার করতে পারি?

যদিও ইউনিক্স এবং লিনাক্স এগুলিকে জনপ্রিয় করেছে, তবে মাইক্রোসফ্ট ওয়ার্ড সহ বিভিন্ন প্যাকেজে রেগুলার এক্সপ্রেশন পাওয়া যায়।

নিয়মিত অভিব্যক্তির জন্য শিক্ষানবিস গাইড

grep সহ বেশ কয়েকটি উল্লেখযোগ্য লিনাক্স প্রোগ্রামে রেগুলার এক্সপ্রেশন সবচেয়ে উল্লেখযোগ্যভাবে ব্যবহৃত হয় , Awk এবং Sed .

উদাহরণস্বরূপ, আপনি আপনার পিসিতে USB ডিভাইসগুলি পরীক্ষা করতে চাইতে পারেন। lspci ব্যবহার করে , আপনি সমস্ত ডিভাইসের একটি তালিকা দেখতে পাবেন এবং আপনাকে নিজেই USB এন্ট্রিগুলি সনাক্ত করতে হবে৷ আপনি পরিবর্তে শুধুমাত্র USB ডিভাইসগুলি দেখানোর জন্য নিম্নলিখিত ব্যবহার করতে পারেন:

lspci | grep "USB"

এটি অ্যাকশনে RegEx এর সবচেয়ে সহজ উদাহরণ। এটি টার্মিনালে রেগুলার এক্সপ্রেশন ব্যবহার করার সবচেয়ে জনপ্রিয় উপায় কিন্তু একমাত্র নয়। আজ আপনি টেক্সট এডিটর থেকে ফাইল ম্যানেজার পর্যন্ত বিভিন্ন ধরনের সফ্টওয়্যারে RegEx সমর্থন পেতে পারেন।

নিদর্শন খোঁজা

আপনি সম্ভবত * ব্যবহার করেছেন অক্ষর, যা টার্মিনালে ফাইল বা ফোল্ডার নির্বাচন করার সময় ওয়াইল্ডকার্ড হিসাবে কাজ করে। উদাহরণস্বরূপ, একটি ফোল্ডারে সমস্ত JPG ফাইল তালিকাভুক্ত করতে, আপনি ব্যবহার করতে পারেন:

ls *.jpg

উপরের RegEx সমতুল্য হবে:

ls | grep -E "\.jpg"
নিয়মিত অভিব্যক্তির জন্য শিক্ষানবিস গাইড

jpg এবং png উভয় ফাইল অনুসন্ধান করতে, ব্যবহার করুন:

ls | grep -E "(\.jpg|\.png)"

পরিসীমা

আপনি যদি প্যাটার্নের পরিবর্তে অক্ষরগুলির একটি নির্দিষ্ট পরিসর অনুসন্ধান করতে চান তবে আপনি এটি বন্ধনীতে সংজ্ঞায়িত করে এটি করতে পারেন। যদি, উদাহরণস্বরূপ, আপনি [a-z] ব্যবহার করেন আপনার প্যাটার্ন হিসাবে, এটি বর্ণমালার যেকোনো ছোট হাতের অক্ষর সমন্বিত যেকোনো স্ট্রিংয়ের সাথে মিলবে।

আপনি হয়তো অনুমান করেছেন, [A-Z] শুধুমাত্র বড় হাতের অক্ষর নির্বাচন করবে। বর্ণের যেকোন পরিসর বেছে নিতে, বড় হাতের এবং ছোট হাতের উভয় ক্ষেত্রেই, অভিব্যক্তিটি [a-zA-Z]-এ পরিবর্তিত হবে .

আপনার প্যাটার্নের একটি নির্দিষ্ট সংখ্যক উদাহরণ সনাক্ত করতে, আপনি এটি কোঁকড়া বন্ধনীতে উল্লেখ করতে পারেন। {5} আপনার প্যাটার্নের পাঁচটি ঘটনা ফিরিয়ে দেবে। আপনি সংখ্যার ব্যাপ্তিও ব্যবহার করতে পারেন, তাই {5,10} পাঁচ থেকে দশটি উদাহরণ আপনাকে উপস্থাপন করবে।

মেটা অক্ষর

রেগুলার এক্সপ্রেশনে, আপনি মেটাক্যারেক্টার নামক দুটি অক্ষর সহ একটি স্ট্রিংয়ের অংশগুলিও অনুসন্ধান করতে পারেন। এগুলি আপনার শেলটিতে ব্যবহার করা ওয়াইল্ডকার্ড ম্যাচের মতো।

প্রাথমিকটি হল সরল বিন্দু, যা অন্য কোনো একক অক্ষরকে বোঝায়। আপনি যদি c.ll প্যাটার্ন ব্যবহার করেন , এটি "সেল" এর সাথে মেলে তবে "কল" এবং "কল।"

একটি বিন্দুর পরে একটি তারকাচিহ্ন প্রবেশ করান, আপনি অসীম সংখ্যক অক্ষর মেলানোর জন্য এটি ব্যবহার করতে পারেন। উদাহরণস্বরূপ, .*board "কীবোর্ড" এবং "স্কেটবোর্ড" উভয়ের জন্যই একটি মিল হবে৷ এমনকি যদি “কী” এবং “স্কেট”-এর অক্ষর সংখ্যা আলাদা থাকে।

পলায়ন

আপনি হয়তো লক্ষ্য করেছেন যে আমাদের উদাহরণে, যেখানে আমরা বিভিন্ন ধরনের ইমেজ ফাইল নির্বাচন করেছি, আমরা পিরিয়ডের আগে ব্যাকস্ল্যাশ ব্যবহার করেছি (“\.jpg”)। এভাবেই আপনি RegEx-এ বিশেষ অক্ষর এড়িয়ে যান।

যদি আমরা সেগুলি ব্যবহার না করি, তাহলে আমাদের প্যাটার্ন শুধুমাত্র ফাইলের এক্সটেনশনের সাথে মেলে না, যেমন ".jpg" এবং ".png" এর মতো স্ট্রিং, তবে "ajpg" এবং "opng" এর সাথেও মিলবে। মনে রাখবেন, . একটি ওয়াইল্ডকার্ড যা যেকোনো অক্ষরের সাথে মেলে।

অ্যাঙ্কর এবং সীমানা

অ্যাঙ্কর এবং সীমানা আপনাকে আরও সুনির্দিষ্টভাবে সংজ্ঞায়িত করার অনুমতি দেয় আপনি যা খুঁজছেন৷

আগে বা পরে অন্য কোন অক্ষর সংযুক্ত না করে শুধুমাত্র পৃথক শব্দ “কম্পিউটার” খুঁজে পেতে, আপনার প্যাটার্নটিকে \<computer\> হিসাবে সংজ্ঞায়িত করা উচিত। .

আপনি বিশেষভাবে প্যাটার্নের জন্য অনুসন্ধান করতে পারেন যা লাইনের শুরুতে বা শেষে প্রদর্শিত হয়। এটি ^ দিয়ে অর্জন করা হয় এবং $ যথাক্রমে অক্ষর।

সুতরাং, আপনি যদি শুধুমাত্র সেই এন্ট্রিগুলি খুঁজে পেতে চান যেখানে একটি লাইনের শুরুতে "কম্পিউটার" শব্দটি উপস্থিত হয়েছে, তাহলে আপনার প্যাটার্নটি ^computer এর মত দেখাবে। . বিপরীতে, যখন এটি লাইনের শেষে থাকে, প্যাটার্নটি computer$ এ পরিবর্তিত হবে .

এগুলি হল RegEx-এর সহজ নিয়ম, যেগুলিকে আপনি নিখুঁতভাবে খুঁজছেন এমন নিদর্শনগুলি খুঁজে পেতেও মিশ্রিত করতে পারেন৷ আপনি পাঠ্যের একক স্ট্রিং ব্যবহার করে একটি লাইনের শুরুতে অক্ষরের ব্যাপ্তি বা শেষে, নির্দিষ্ট তারিখ বা বছরের পরিসর অনুসন্ধান করতে পারেন।

রেগুলার এক্সপ্রেশন আয়ত্ত করতে আমাদের রেগুলার এক্সপ্রেশন চিটশীট চেক করতে ভুলবেন না।


  1. লিনাক্সে ন্যানো টেক্সট এডিটর ব্যবহার করার জন্য প্রাথমিক নির্দেশিকা

  2. অ্যান্ড্রয়েড স্টুডিওতে শিক্ষানবিস গাইড

  3. টাচ টাইপিংয়ের জন্য প্রাথমিক নির্দেশিকা

  4. এইচটিএমএল এবং সিএসএসের জন্য শিক্ষানবিস গাইড