ভিবিএ রেজেক্স | ভিবিএ এক্সেলে নিয়মিত এক্সপ্রেশন কীভাবে ব্যবহার করবেন? (উদাহরণ)

এক্সেল ভিবিএতে রেজেক্স কী?

RegEx এর অর্থ “নিয়মিত এক্সপ্রেশন"ভিবিএ এক্সেলের মধ্যে এবং এটি এমন একটি অক্ষরের ক্রম যা মানগুলির একটি স্ট্রিংয়ে অক্ষরের একটি নির্দিষ্ট প্যাটার্ন সন্ধানের জন্য অনুসন্ধানের প্যাটার্নটিকে সংজ্ঞায়িত করে। একটি সাধারণ কথায় "আমরা একটি নিয়মিত প্রকাশের প্যাটার্ন তৈরি করতে পারি এবং সেই প্যাটার্নটির স্ট্রিং অনুসন্ধান করতে এটি ব্যবহার করতে পারি"।

ভিবিএ রেজেক্স একটি অবজেক্ট মডেল। আমি জানি এটি ব্যাখ্যা দেখে ভয় দেখায় তবে বিষয়টি হ'ল বস্তুর প্রকৃতি। আপনাকে এখানে একটি জিনিস মনে রাখতে হবে যা হ'ল ভিবিএ রেজিএক্স (নিয়মিত এক্সপ্রেশন) আমাদের অন্যান্য পাঠ্য ফাংশন "বাম, অধিকার, মিড" এর মতো একটি পাঠ্য ফাংশন অবজেক্ট।

এক্সেল ভিবিএতে RegEx কীভাবে সক্ষম করবেন?

আমি যেমন বলেছি ভিবিএ তে রেগেক্স হ'ল "এমএস ওয়ার্ড" এবং "এমএস পাওয়ারপয়েন্ট" এর মতো আমাদের বাহ্যিক সফ্টওয়্যারগুলির মতো ভিবিএতে একটি অবজেক্ট মডেল। একইভাবে, RegEx হ'ল একটি কম্পোনেন্ট অবজেক্ট মডেল (সিওএম) যা আমাদের ভিবিএ সম্পাদকের মধ্যে উল্লেখ করতে হবে। RegEx সক্ষম করতে, নীচের পদক্ষেপগুলি অনুসরণ করুন।

ধাপ 1: ভিজ্যুয়াল বেসিক সম্পাদক (Alt + F11) এ যান

ধাপ ২: সরঞ্জাম এবং রেফারেন্সে যান।

ধাপ 3: এখন আপনি ভিবিএ প্রকল্পের রেফারেন্স দেখতে পাবেন। নীচে স্ক্রোল করুন এবং "মাইক্রোসফ্ট ভিবিএস স্ক্রিপ্ট নিয়মিত এক্সপ্রেশন 5.5" নির্বাচন করুন

পদক্ষেপ 4: এখন ওকে ক্লিক করুন। আমরা এখন ভিবিএ কোডিংয়ে এই RegEx অবজেক্টটি অ্যাক্সেস করতে পারি।

উদাহরণ - এখন আমি আপনাকে একটি সহজ উদাহরণ দেখাব। ধরে নিন আপনার কাছে “বিক্রয় 2019, বিক্রয় 2018 এবং বিক্রয় 2017” শব্দ রয়েছে। আপনি যদি প্যাটার্নটিকে [0 - 7] হিসাবে সংজ্ঞায়িত করেন তবে এটি 0 থেকে 7 এর মধ্যে সমস্ত সংখ্যার সাথে মেলে, তাই আমাদের ম্যাচগুলি প্রতিটি স্ট্রিংয়ে 201, 201 এবং 2017 হবে।

ভিবিএ রেজেক্সেক্স প্যাটার্ন

ভিবিএ রেজিএক্স ফাংশনের প্যাটার্নটি ভয় দেখায় এবং প্যাটার্নটি বুঝতে কিছুটা সময় নেয়। আমরা এখানে দুটি ধরণের চরিত্রের ক্রম দেখতে পাচ্ছি একটি হ'ল "আক্ষরিক অক্ষর" এবং অন্যটি হ'ল "মেটাচারারস"।

  • আক্ষরিক চরিত্র প্রদত্ত স্ট্রিংয়ের সঠিক মিলের জন্য অনুসন্ধান করুন। উদাহরণস্বরূপ, আক্ষরিক অক্ষর ক্রম "EFG" কেবল সরবরাহিত পাঠ্যের "EFG" এর সমস্ত ম্যাচ সন্ধান করে।
  • মেটাচারার্স RegEx প্যাটার্নে সঠিক অর্থের সাথে অক্ষরের সংমিশ্রণ ছাড়া আর কিছুই নয়। এর চেয়ে সম্পূর্ণ আলাদা different আক্ষরিক চরিত্র। এটি কভার করার জন্য একটি বিশাল বিষয়, নীচে কয়েকটি গুরুত্বপূর্ণ বাক্য গঠন রয়েছে।
বাক্য গঠনবর্ণনাউদাহরণউদাহরণ ম্যাচ
.এটি ইনপুট স্ট্রিংয়ের কোনও একক অক্ষরের সাথে মেলেp.tপোষা প্রাণী পট, পুট, প্যাটার্ন
[]এটি একটি ইনপুট স্ট্রিংয়ের বন্ধনীটির মধ্যে যে কোনও একক অক্ষরের সাথে মেলে[পিটি]এটি পি বা টি এর সাথে মেলে
[^]এটি কোনও একক অক্ষরের সাথে মেলে, কোনও ইনপুট স্ট্রিংয়ের বন্ধনীটির মধ্যে নয়[^ পিটি]এটি পি বা টিয়ের সাথে মিলে না
[শুরু শেষ]এটি বন্ধনীতে প্রদত্ত পরিসরের মধ্যে যে কোনও অক্ষরের সাথে মেলে[0-9]এটি 0 থেকে 9 পর্যন্ত কোনও অঙ্কের সাথে মেলে
[এ-জেড]এটি একটি থেকে z পর্যন্ত যে কোনও ছোট অক্ষরের সাথে মেলে
[এ-জেড]এটি এ থেকে জেড পর্যন্ত যে কোনও উচ্চতর অক্ষরের সাথে মেলে
গুলিএটি কোনও সাদা স্থানের অক্ষরের সাথে মেলেস্পেস, নতুন লাইন বা ট্যাব চরিত্রের সাথে মেলে
। এসএটি যে কোনও নাইট-স্পেস অক্ষরের সাথে মেলেমিলগুলি অক্ষর স্থান নয়, নতুন লাইন নয়, ট্যাব অক্ষর নয়
। dএটি কোনও একক অঙ্কের অক্ষরের সাথে মেলেএসই 5 ভিজি 6ম্যাচ 5 এবং 6
। ডিএটি কোনও একক ননডজিট চরিত্রের সাথে মেলেএসই 5 ভিজি 6SEVG এর সাথে মেলে

RegEx অবজেক্টের বৈশিষ্ট্য এবং পদ্ধতি

আমাদের সমস্ত অবজেক্ট মডেলের মতোই রেজিএক্সেরও নিজস্ব বৈশিষ্ট্য এবং পদ্ধতি রয়েছে। এখন আমরা এক এক করে বিশদে দেখব।

ভিবিএ রেজেক্স অবজেক্টের বৈশিষ্ট্য

  • প্যাটার্ন: এটি প্রদত্ত স্ট্রিংয়ের সাথে মেলে ব্যবহার করা হয়।
  • অবহেলার ঘটনা: এটি বড় হাতের অক্ষর এবং ছোট হাতের অক্ষর উপেক্ষা করা।
  • গ্লোবাল: আপনি যদি প্যাটার্নটিতে সমস্ত মিল খুঁজে পেতে চান তবে সত্য হল আর্গুমেন্ট বা অন্যথায় প্রথম ম্যাচটি পাওয়া যাবে।
  • মাল্টি-লাইন: আপনি যদি নতুন লাইন ব্রেকগুলি সন্ধান করতে চান তবে আপনি এটি ব্যবহার করতে পারেন।

RegEx অবজেক্টের পদ্ধতি

  • পরীক্ষা: প্রদত্ত স্ট্রিংটিতে প্যাটার্নটি পাওয়া যাবে কিনা তা পরীক্ষা করা এটি। এটি সত্য হলে পাওয়া যাবে যদি অন্যথায় মিথ্যা হয়।
  • এক্সিকিউট: এটি সন্ধানের স্ট্রিংয়ের বিপরীতে প্যাটার্নের সমস্ত ম্যাচ ফেরত দেবে।
  • প্রতিস্থাপন: এটি অনুসন্ধানের স্ট্রিংটিকে নতুন স্ট্রিংয়ের সাথে প্রতিস্থাপন করবে।

ভিবিএ এক্সেলে রেজিএক্সের উদাহরণ

এখন নীচের উদাহরণটি দেখুন ভিবিএ কোডটি।

আপনি এই ভিবিএ RegEx এক্সেল টেম্পলেটটি এখানে ডাউনলোড করতে পারেন - ভিবিএ RegEx এক্সেল টেম্পলেট

কোড:

 সাব রেজিএক্স_এক্সেম্পল () অবজেক্ট হিসাবে ম্ল রেগেক্স, স্ট্রিং সেট হিসাবে মাই স্ট্রিং রেজিএক্স = ক্রিয়েটওবজেক্ট ("ভিবিএসক্রিপট.রেগএক্সপ") সাথে রেগেক্স .প্যাট্রেন = "[0-9] +" মাই স্ট্রিং দিয়ে শেষ = "জন্মের তারিখ 1985" এমএসজিবক্স রেজেক্স । টেস্ট (মাইস্ট্রিং) মাই স্ট্রিং = "জন্ম বছরের তারিখটি ???" MsgBox RegEx.Test (MyString) শেষ সাব 

খাঁটি

উপরের কোডে, আমরা নীচে 0 থেকে 9 পর্যন্ত সংখ্যাটি সন্ধানের জন্য প্যাটার্নটি সেট করেছি।

 রেজিএক্স। প্যাটার্ন = "[0-9] +" এর সাথে শেষ 

তারপরে পরিবর্তনশীল মাইস্ট্রিং = "জন্মের তারিখ 1985" এটি 0 থেকে 9 পর্যন্ত মান ধারণ করে, তাই আমাদের বার্তা বাক্সটি সত্য ফিরে আসবে।

মাইস্ট্রিং = "জন্মের বছরটি কি ???" 0 থেকে 9 পর্যন্ত কোনও সংখ্যা নেই তাই বার্তা বাক্সগুলির ফলাফল হিসাবে মিথ্যা ফিরিয়ে দেবে।