সুচিপত্র
এক্সেল সূত্রে রেগুলার এক্সপ্রেশন কেন সমর্থিত নয় তা কখনোই বুঝতে পারছেন না? এখন, সেগুলি হল :) আমাদের কাস্টম ফাংশনগুলির সাহায্যে, আপনি একটি নির্দিষ্ট প্যাটার্নের সাথে মিলে যাওয়া স্ট্রিংগুলি সহজেই খুঁজে পেতে, প্রতিস্থাপন করতে, নিষ্কাশন করতে এবং অপসারণ করতে পারেন৷
প্রথম নজরে, এক্সেলের কাছে পাঠ্য স্ট্রিংয়ের জন্য যা যা প্রয়োজন তা সবই রয়েছে৷ ম্যানিপুলেশন হুম... রেগুলার এক্সপ্রেশন সম্পর্কে কি? ওহো, এক্সেলে কোনো বিল্ট-ইন রেজেক্স ফাংশন নেই। কিন্তু কেউ বলে না যে আমরা আমাদের নিজেদের তৈরি করতে পারি না :)
রেগুলার এক্সপ্রেশন কী?
একটি রেগুলার এক্সপ্রেশন (ওরফে regex বা regexp ) অক্ষরগুলির একটি বিশেষভাবে এনকোড করা ক্রম যা একটি অনুসন্ধান প্যাটার্নকে সংজ্ঞায়িত করে। সেই প্যাটার্নটি ব্যবহার করে, আপনি একটি স্ট্রিং-এ একটি মিলিত অক্ষরের সংমিশ্রণ খুঁজে পেতে পারেন বা ডেটা ইনপুট যাচাই করতে পারেন। আপনি যদি ওয়াইল্ডকার্ড স্বরলিপির সাথে পরিচিত হন, তাহলে আপনি regexesকে ওয়াইল্ডকার্ডের একটি উন্নত সংস্করণ হিসেবে ভাবতে পারেন৷
নিয়মিত অভিব্যক্তিগুলির নিজস্ব সিনট্যাক্স থাকে যা বিশেষ অক্ষর, অপারেটর এবং গঠন নিয়ে গঠিত৷ উদাহরণস্বরূপ, [0-5] 0 থেকে 5 পর্যন্ত যেকোনো একক অঙ্কের সাথে মেলে।
জাভাস্ক্রিপ্ট এবং VBA সহ অনেক প্রোগ্রামিং ভাষায় নিয়মিত এক্সপ্রেশন ব্যবহার করা হয়। পরেরটির একটি বিশেষ RegExp অবজেক্ট রয়েছে, যা আমরা আমাদের কাস্টম ফাংশন তৈরি করতে ব্যবহার করব৷
এক্সেল কি রেজেক্স সমর্থন করে?
দুঃখের বিষয়, এক্সেলে কোনও অন্তর্নির্মিত রেজেক্স ফাংশন নেই৷ আপনার সূত্রগুলিতে নিয়মিত অভিব্যক্তি ব্যবহার করতে সক্ষম হওয়ার জন্য, আপনাকে আপনার নিজস্ব ব্যবহারকারী-সংজ্ঞায়িত ফাংশন তৈরি করতে হবে (VBA)আর্গুমেন্টস:
=IF(RegExpMatch(A5, $A$2), "Yes", "No")
আরো সূত্র উদাহরণের জন্য, অনুগ্রহ করে দেখুন:
- রেগুলার এক্সপ্রেশন ব্যবহার করে স্ট্রিংগুলি কীভাবে মেলে<25
- রেজেক্সের সাথে এক্সেল ডেটা যাচাইকরণ
এক্সেল রেজেক্স এক্সট্র্যাক্ট ফাংশন
RegExpExtract ফাংশনটি এমন সাবস্ট্রিংগুলির জন্য অনুসন্ধান করে যা একটি রেগুলার এক্সপ্রেশনের সাথে মেলে এবং সমস্ত মিল বা এক্সট্র্যাক্ট করে নির্দিষ্ট মিল।
RegExpExtract(টেক্সট, প্যাটার্ন, [instance_num], [match_case])কোথায়:
- টেক্সট (প্রয়োজনীয়) - অনুসন্ধান করার জন্য পাঠ্য স্ট্রিং ইন।
- প্যাটার্ন (প্রয়োজনীয়) - নিয়মিত এক্সপ্রেশন যা মিলবে।
- ইনস্ট্যান্স_সংখ্যা (ঐচ্ছিক) - একটি সিরিয়াল নম্বর যা নির্দেশ করে কোন উদাহরণটি নির্যাস. যদি বাদ দেওয়া হয়, পাওয়া সমস্ত মিল (ডিফল্ট) ফেরত দেয়।
- ম্যাচ_কেস (ঐচ্ছিক) - মেলে (সত্য বা বাদ দেওয়া) বা উপেক্ষা করা (মিথ্যা) টেক্সট কেস নির্ধারণ করে। <5
- টেক্সট (প্রয়োজনীয়) - অনুসন্ধান করার জন্য পাঠ্য স্ট্রিং।
- প্যাটার্ন (প্রয়োজনীয়) - মিলের জন্য রেগুলার এক্সপ্রেশন।
- প্রতিস্থাপন (প্রয়োজনীয়) - এর সাথে মিলে যাওয়া সাবস্ট্রিংগুলিকে প্রতিস্থাপন করার জন্য পাঠ্য।
- ইনস্ট্যান্স_সংখ্যা (ঐচ্ছিক) - প্রতিস্থাপনের উদাহরণ। ডিফল্ট হল "সমস্ত ম্যাচ"।
- Match_case (ঐচ্ছিক) - মেলে (সত্য বা বাদ দেওয়া) বা উপেক্ষা করা (মিথ্যা) পাঠ্য ক্ষেত্রে নিয়ন্ত্রণ করে।
- রেজেক্স ব্যবহার করে এক্সেলে স্ট্রিংগুলি কীভাবে প্রতিস্থাপন করা যায়
- রেজেক্স ব্যবহার করে কীভাবে স্ট্রিংগুলি সরিয়ে ফেলা যায়
- রেজেক্স ব্যবহার করে কীভাবে হোয়াইটস্পেস বন্ধ করা যায়
- আপনি সাধারণ .xlsx ওয়ার্কবুকে রেগুলার এক্সপ্রেশন ব্যবহার করতে পারেন কোনো VBA কোড যোগ না করে এবং সেগুলিকে ম্যাক্রো-সক্ষম ফাইল হিসাবে সংরক্ষণ না করে।
- .NET Regex ইঞ্জিন সম্পূর্ণ বৈশিষ্ট্যযুক্ত ক্লাসিক সমর্থন করেরেগুলার এক্সপ্রেশন, যা আপনাকে আরও পরিশীলিত প্যাটার্ন তৈরি করতে দেয়।
- Ablebits Data ট্যাবে, Text গ্রুপে, Regex Tools এ ক্লিক করুন।
- রেজেক্স টুলস প্যানেলে, নিম্নলিখিতগুলি করুন:
- সোর্স ডেটা নির্বাচন করুন।
- আপনার রেজেক্স প্যাটার্ন লিখুন।
- কাঙ্খিত বিকল্পটি বেছে নিন: ম্যাচ , এক্সট্রাক্ট , রিমুভ বা প্রতিস্থাপন করুন ।
- ফলাফল পেতে সূত্র এবং মান নয়, সূত্র হিসাবে ঢোকান চেক বক্স নির্বাচন করুন।
- অ্যাকশন বোতাম টিপুন।
উদাহরণস্বরূপ, সেল থেকে ক্রেডিট কার্ড নম্বর সরাতে A2:A6, আমরা এই সেটিংস কনফিগার করি:
- সূত্র বারের fx বোতামে ক্লিক করুন অথবা সূত্র ট্যাবে ফাংশন সন্নিবেশ করুন ।
- Insert Function ডায়ালগ বক্সে, AblebitsUDFs নির্বাচন করুনবিভাগ, আগ্রহের ফাংশন নির্বাচন করুন এবং ঠিক আছে ক্লিক করুন।
- ফাংশনের আর্গুমেন্টগুলিকে সংজ্ঞায়িত করুন যেমন আপনি সাধারণত করেন এবং ঠিক আছে ক্লিক করুন। সম্পন্ন!
- প্যাটার্ন - হয় প্যাটার্ন ইনপুট স্ট্রিং-এ মেলানোর জন্য।
- গ্লোবাল - ইনপুট স্ট্রিং-এ সব মিল খুঁজে পাওয়া যাবে নাকি প্রথমটি। আমাদের ফাংশনে, সমস্ত মিল পেতে এটি True এ সেট করা হয়েছে।
- মাল্টিলাইন - মাল্টি-লাইন স্ট্রিং-এ লাইন ব্রেক জুড়ে প্যাটার্ন মেলে কিনা তা নির্ধারণ করে প্রথম লাইনে। আমাদের কোডগুলিতে, প্রতিটি লাইনে অনুসন্ধান করার জন্য এটি True এ সেট করা হয়েছে।
- IgnoreCase - একটি রেগুলার এক্সপ্রেশন কেস-সংবেদনশীল (ডিফল্ট) নাকি কেস- সংজ্ঞায়িত করে। সংবেদনশীল (সত্যে সেট)। আমাদের ক্ষেত্রে, এটি নির্ভর করে আপনি কিভাবে ঐচ্ছিক match_case প্যারামিটার কনফিগার করবেন তার উপর। ডিফল্টরূপে, সমস্ত ফাংশন কেস-সংবেদনশীল ।
- টেক্সট (প্রয়োজনীয়) - অনুসন্ধান করার জন্য এক বা একাধিক স্ট্রিং।
- প্যাটার্ন ( প্রয়োজনীয়) - নিয়মিতমিলের জন্য অভিব্যক্তি।
- Match_case (ঐচ্ছিক) - ম্যাচের ধরন। সত্য বা বাদ দেওয়া - কেস-সংবেদনশীল; FALSE - কেস-অসংবেদনশীল
আপনি এখানে ফাংশনের কোড পেতে পারেন।
উদাহরণ: রেগুলার এক্সপ্রেশন ব্যবহার করে কিভাবে স্ট্রিং বের করতে হয়
আমাদের উদাহরণকে আরেকটু এগিয়ে নিয়ে চলুন, ইনভয়েস নম্বর বের করা যাক। এর জন্য, আমরা একটি খুব সাধারণ রেজেক্স ব্যবহার করব যা যেকোনো 7-সংখ্যার সাথে মেলে:
প্যাটার্ন : \b\d{7}\b
পুট A2-এ প্যাটার্ন এবং আপনি এই কমপ্যাক্ট এবং মার্জিত সূত্রের সাহায্যে কাজটি সম্পন্ন করবেন:
=RegExpExtract(A5, $A$2)
যদি একটি প্যাটার্ন মিলে যায়, যদি কোনো মিল না পাওয়া যায় তাহলে সূত্রটি একটি চালান নম্বর বের করে - কিছুই ফেরত দেওয়া হয় না৷
আরো উদাহরণের জন্য, অনুগ্রহ করে দেখুন: কিভাবে Excel এ স্ট্রিং বের করতে হয়regex ব্যবহার করে।
Excel Regex Replace ফাংশন
RegExpReplace ফাংশনটি আপনার নির্দিষ্ট করা পাঠ্যের সাথে একটি regex এর সাথে মিলে যাওয়া মানগুলিকে প্রতিস্থাপন করে।
RegExpReplace(টেক্সট, প্যাটার্ন, প্রতিস্থাপন , [instance_num], [match_case])কোথায়:
ফাংশনের কোড এখানে পাওয়া যায়।
উদাহরণ: কিভাবে রেজেক্স ব্যবহার করে স্ট্রিং প্রতিস্থাপন বা অপসারণ করা যায়
আমাদের কিছু রেকর্ডে ক্রেডিট কার্ড নম্বর রয়েছে। এই তথ্যটি গোপনীয়, এবং আপনি এটিকে কিছু দিয়ে প্রতিস্থাপন করতে বা সম্পূর্ণ মুছে দিতে চাইতে পারেন। উভয় কাজই RegExpReplace ফাংশনের সাহায্যে সম্পন্ন করা যেতে পারে। কিভাবে? একটি দ্বিতীয় দৃশ্যে, আমরা একটি খালি স্ট্রিং দিয়ে প্রতিস্থাপন করব৷
আমাদের নমুনা টেবিলে, সমস্ত কার্ড নম্বরে 16টি সংখ্যা রয়েছে, যা স্পেস দিয়ে আলাদা করে 4টি গ্রুপে লেখা হয়েছে৷ তাদের খুঁজে পেতে, আমরা এই রেগুলার এক্সপ্রেশন ব্যবহার করে প্যাটার্নের প্রতিলিপি তৈরি করি:
প্যাটার্ন : \b\d{4} \d{4} \d{4} \d{4}\ b
প্রতিস্থাপনের জন্য, নিম্নলিখিত স্ট্রিংটি ব্যবহার করা হয়:
প্রতিস্থাপন : XXXX XXXX XXXXXXXX
এবং এখানে সংবেদনশীল তথ্য সহ ক্রেডিট কার্ড নম্বরগুলি প্রতিস্থাপন করার একটি সম্পূর্ণ সূত্র রয়েছে:
=RegExpReplace(A5, "\b\d{4} \d{4} \d{4} \d{4}\b", "XXXX XXXX XXXX XXXX")
রেজেক্স এবং পৃথক কক্ষে প্রতিস্থাপন পাঠ্য সহ ( A2 এবং B2), সূত্রটি সমানভাবে কাজ করে:
এক্সেল-এ, "মুছে ফেলা" হল "প্রতিস্থাপন" এর একটি বিশেষ ক্ষেত্রে। ক্রেডিট কার্ড নম্বরগুলি মুছে ফেলতে , প্রতিস্থাপন আর্গুমেন্টের জন্য একটি খালি স্ট্রিং ("") ব্যবহার করুন:
=RegExpReplace(A5, "\b\d{4} \d{4} \d{4} \d{4}\b", "")
টিপ। ফলাফলে খালি লাইনের রিগ পেতে, আপনি এই উদাহরণে দেখানো অন্য একটি RegExpReplace ফাংশন ব্যবহার করতে পারেন: regex ব্যবহার করে কীভাবে ফাঁকা লাইনগুলি সরাতে হয়।
আরও তথ্যের জন্য, অনুগ্রহ করে দেখুন:
রেজেক্স টুলগুলি মেলাতে, বের করতে , সাবস্ট্রিংগুলি প্রতিস্থাপন এবং অপসারণ করুন
আমাদের আলটিমেট স্যুটের ব্যবহারকারীরা তাদের ওয়ার্কবুকে কোডের একটি লাইন সন্নিবেশ না করেই রেগুলার এক্সপ্রেশনের সমস্ত শক্তি পেতে পারে৷ সমস্ত প্রয়োজনীয় কোড আমাদের ডেভেলপারদের দ্বারা লেখা হয় এবং ইনস্টলেশনের সময় আপনার এক্সেলে মসৃণভাবে একত্রিত করা হয়৷
উপরে আলোচনা করা VBA ফাংশনগুলির বিপরীতে, আলটিমেট স্যুটের ফাংশনগুলি .NET ভিত্তিক, যা দুটি প্রধান সুবিধা দেয়:
এক্সেলে রেগেক্স কীভাবে ব্যবহার করবেন
আল্টিমেট স্যুট ইনস্টল করার সাথে, এক্সেলে রেগুলার এক্সপ্রেশন ব্যবহার করা এই দুটি ধাপের মতোই সহজ। :
একটি ত্রিশে, আপনার আসলটির ডানদিকে একটি নতুন কলামে একটি AblebitsRegex ফাংশন সন্নিবেশ করা হবে তথ্য আমাদের ক্ষেত্রে, সূত্রটি হল:
=AblebitsRegexRemove(A2, "\b\d{4} \d{4} \d{4} \d{4}\b")
একবার সূত্রটি উপস্থিত হলে, আপনি এটিকে যেকোনো স্থানীয় সূত্রের মতো সম্পাদনা, অনুলিপি বা সরাতে পারেন।
একটি ঘরে সরাসরি একটি রেজেক্স সূত্র কীভাবে সন্নিবেশ করা যায়
AblebitsRegex ফাংশনগুলি অ্যাড-ইন ইন্টারফেস ব্যবহার না করেও সরাসরি একটি ঘরে সন্নিবেশ করা যেতে পারে। এখানে কিভাবে:
আরও তথ্যের জন্য, অনুগ্রহ করে এক্সেলের জন্য রেজেক্স টুলস দেখুন৷
এভাবে এক্সেল কোষে পাঠ্য মেলাতে, নিষ্কাশন করতে, প্রতিস্থাপন করতে এবং সরাতে নিয়মিত এক্সপ্রেশন ব্যবহার করতে হয়৷ আমি পড়ার জন্য আপনাকে ধন্যবাদ এবং আগামী সপ্তাহে আমাদের ব্লগে আপনাকে দেখার জন্য অপেক্ষা করছি!
উপলভ্য ডাউনলোড
Excel Regex - সূত্র উদাহরণ (.xlsm ফাইল)
আলটিমেট স্যুট - ট্রায়াল সংস্করণ (.exe ফাইল)
অথবা .NET ভিত্তিক) অথবা রেজেক্স সমর্থনকারী তৃতীয় পক্ষের টুল ইনস্টল করুন।এক্সেল রেজেক্স চিট শীট
একটি রেজেক্স প্যাটার্ন খুব সহজ বা অত্যন্ত পরিশীলিত হোক না কেন, এটি সাধারণ সিনট্যাক্স ব্যবহার করে তৈরি করা হয়। এই টিউটোরিয়ালটি আপনাকে নিয়মিত অভিব্যক্তি শেখানোর লক্ষ্য নয়। এর জন্য, অনলাইনে প্রচুর সংস্থান রয়েছে, নতুনদের জন্য বিনামূল্যের টিউটোরিয়াল থেকে শুরু করে উন্নত ব্যবহারকারীদের জন্য প্রিমিয়াম কোর্স পর্যন্ত৷
নীচে আমরা প্রধান RegEx প্যাটার্নগুলির একটি দ্রুত রেফারেন্স প্রদান করি যা আপনাকে মৌলিক বিষয়গুলি বুঝতে সাহায্য করবে৷ আরও উদাহরণগুলি অধ্যয়ন করার সময় এটি আপনার চিট শীট হিসাবেও কাজ করতে পারে৷
যদি আপনি নিয়মিত অভিব্যক্তিতে স্বাচ্ছন্দ্য বোধ করেন, আপনি সরাসরি RegExp ফাংশনে যেতে পারেন৷
অক্ষরগুলি
এইগুলি নির্দিষ্ট অক্ষরের সাথে মেলে সবচেয়ে বেশি ব্যবহৃত প্যাটার্ন।
প্যাটার্ন | বিবরণ | উদাহরণ | মিলগুলি | <16
। | ওয়াইল্ডকার্ড অক্ষর: একটি লাইন বিরতি ছাড়া যেকোনো একক অক্ষরের সাথে মেলে | .ot | ডট , হট , পট , @ot |
\d | ডিজিট অক্ষর: যেকোনো একক সংখ্যা 0 থেকে 9 | \d | a1b -এ, মিলছে 1 |
\D | কোনও অক্ষর যা একটি সংখ্যা নয় | \D | a1b -এ, a এবং b<2 মেলে |
\s | হোয়াইটস্পেস অক্ষর: স্পেস, ট্যাব, নতুন লাইন এবং ক্যারেজ রিটার্ন | ।\s. | এ 3 সেন্ট , মেলে 3 c |
\S | যেকোনোনন-হোয়াইটস্পেস অক্ষর | \S+ | 30 সেন্ট , মেলে 30 এবং সেন্ট |
\w | শব্দের অক্ষর: যেকোনো ASCII অক্ষর, অঙ্ক বা আন্ডারস্কোর | \w+ | 5_cats*** -এ, মেলে 5_cats |
\W | যে কোনো অক্ষর যা একটি বর্ণসংখ্যার অক্ষর বা আন্ডারস্কোর নয় | \W+ | 5_cats*** , মিলছে *** |
\t | ট্যাব | <14||
\n | নতুন লাইন | \n\d+ | দুই লাইনে নীচের স্ট্রিং, মেলে 10 5 বিড়াল 10 কুকুর |
\ | একটি অক্ষরের বিশেষ অর্থ এড়িয়ে যায়, যাতে আপনি করতে পারেন এটির জন্য অনুসন্ধান করুন | \. \w+\. | একটি পিরিয়ড এস্কেপ করে যাতে আপনি আক্ষরিক "।" একটি স্ট্রিং এর অক্ষর Mr. , Mrs. , Prof. |
চরিত্রের ক্লাস
এই প্যাটার্নগুলি ব্যবহার করে, আপনি বিভিন্ন অক্ষর সেটের উপাদানগুলিকে মেলাতে পারেন৷
প্যাটার্ন | বিবরণ | উদাহরণ | ম্যাচগুলি |
[অক্ষর] | বন্ধনীর যেকোনো একক অক্ষরের সাথে মেলে | d[oi]g<15 | কুকুর এবং ডিগ |
[^অক্ষর] | বন্ধনীতে নয় এমন যেকোন একক অক্ষরের সাথে মেলে | d[^oi]g | মিলগুলি dag, dug , d1g মেলে না dog এবং dig |
[থেকে-থেকে] | এর মধ্যে পরিসরের যেকোনো অক্ষর মেলেবন্ধনী | [0-9] [a-z] [A-Z] | 0 থেকে 9 পর্যন্ত যেকোনো একক সংখ্যা যেকোনো একক ছোট হাতের অক্ষর যেকোন একক বড় হাতের অক্ষর |
কোয়ান্টিফায়ার
কোয়ান্টিফায়ার হল বিশেষ এক্সপ্রেশন যা মেলাতে অক্ষরের সংখ্যা নির্দিষ্ট করে। একটি কোয়ান্টিফায়ার সবসময় অক্ষরের আগে প্রযোজ্য হয়।
প্যাটার্ন | বিবরণ | উদাহরণ | মিলগুলি |
* | শূন্য বা তার বেশি ঘটনা | 1a* | 1, 1a , 1aa, 1aaa , ইত্যাদি। |
+ | এক বা একাধিক ঘটনা | po+ | In পট , মিলছে po দরিদ্র , মিলছে poo |
? | শূন্য বা একটি ঘটনা | roa?d | রাস্তা, রড |
*? | শূন্য বা আরও ঘটনা, কিন্তু যতটা সম্ভব কম | 1a*? | 1a , 1aa এবং 1aaa , মেলে 1a |
+? | এক বা একাধিক ঘটনা, তবে যতটা সম্ভব কম | po+? | <14 পট এবং দরিদ্র , মিলছে po|
?? | শূন্য বা একটি ঘটনা , কিন্তু যত কম সম্ভব | roa? | road এবং rod এ, ro | <মেলে 16>
{n} | পূর্ববর্তী প্যাটার্নের সাথে n বার মেলে | \d{3} | ঠিক 3টি সংখ্যা |
{এন ,} | পূর্ববর্তী প্যাটার্ন n বা তার বেশি বার মেলে | \d{3,} | 3 বা তার বেশি সংখ্যা |
{n,m} | এর সাথে মেলেn এবং m সময়ের মধ্যে পূর্ববর্তী প্যাটার্ন | \d{3,5} | 3 থেকে 5 ডিজিট |
গ্রুপিং
গ্রুপিং কনস্ট্রাক্টগুলি সোর্স স্ট্রিং থেকে একটি সাবস্ট্রিং ক্যাপচার করতে ব্যবহৃত হয়, যাতে আপনি এটি দিয়ে কিছু অপারেশন করতে পারেন।
সিনট্যাক্স | বিবরণ | উদাহরণ | মিলগুলি |
(প্যাটার্ন) | ক্যাপচারিং গ্রুপ: একটি মিলে যাওয়া সাবস্ট্রিং ক্যাপচার করে এবং এটিকে একটি অর্ডিনাল নম্বর বরাদ্দ করে | (\d+) | 5টি বিড়াল এবং 10টি কুকুর , ক্যাপচার করে 5 (গ্রুপ 1) এবং 10 (গ্রুপ 2) |
(?:প্যাটার্ন) | নন-ক্যাপচারিং গ্রুপ: একটি গ্রুপের সাথে মেলে কিন্তু এটি ক্যাপচার করে না | (\d+)(?: কুকুর) | 5টি বিড়াল এবং 10টি কুকুর , ক্যাপচার করে 10 |
\1 | গ্রুপের বিষয়বস্তু 1 | (\d+)\+(\d+)=\2\+\1 | মেলে 5+10=10+5 এবং ক্যাপচার 5 এবং 10 , যা ক্যাপচারিং গ্রুপে রয়েছে |
\2 | গ্রুপ 2 এর বিষয়বস্তু |
অ্যাঙ্কর
অ্যাঙ্কররা ইনপুট স্ট্রিং-এ একটি অবস্থান নির্দিষ্ট করে যেখানে খুঁজতে হবে ম্যাচ 14>^
দ্রষ্টব্য: [^বন্ধনীর ভিতরে] মানে "না"
এ 10Y
এখন যেহেতু আপনি প্রয়োজনীয় বিষয়গুলি জানেন, আসুন সবচেয়ে আকর্ষণীয় অংশে যাওয়া যাক - ব্যবহার করে স্ট্রিং পার্স করতে এবং প্রয়োজনীয় তথ্য খুঁজে পেতে রিয়েল ডেটাতে regexes৷ আপনার যদি সিনট্যাক্স সম্পর্কে আরও বিশদ বিবরণের প্রয়োজন হয়, তাহলে রেগুলার এক্সপ্রেশন ল্যাঙ্গুয়েজে Microsoft নির্দেশিকা সহায়ক হতে পারে৷
Excel এর জন্য কাস্টম RegEx ফাংশন
ইতিমধ্যেই উল্লিখিত হিসাবে, মাইক্রোসফ্ট এক্সেলের কোনও অন্তর্নির্মিত RegEx ফাংশন নেই৷ নিয়মিত অভিব্যক্তি সক্ষম করতে, আমরা তিনটি কাস্টম VBA ফাংশন তৈরি করেছি (ওরফে ব্যবহারকারী-সংজ্ঞায়িত ফাংশন)৷ আপনি নীচের লিঙ্কযুক্ত পৃষ্ঠাগুলি থেকে বা আমাদের নমুনা থেকে কোডগুলি অনুলিপি করতে পারেন ওয়ার্কবুক, এবং তারপরে আপনার নিজের এক্সেল ফাইলগুলিতে পেস্ট করুন।
ভিবিএ RegExp কীভাবে কাজ করে
এই বিভাগটি ভিতরের মেকানিক্স ব্যাখ্যা করে এবং এটি int হতে পারে যারা ব্যাকএন্ডে ঠিক কী ঘটে তা জানতে চান তাদের উদ্দেশ্যে।
VBA-তে রেগুলার এক্সপ্রেশন ব্যবহার শুরু করতে, আপনাকে হয় RegEx অবজেক্ট রেফারেন্স লাইব্রেরি সক্রিয় করতে হবে অথবা CreateObject ফাংশন ব্যবহার করতে হবে। VBA এডিটরে রেফারেন্স সেট করার ঝামেলা থেকে বাঁচতে, আমরা পরবর্তী পদ্ধতি বেছে নিয়েছি।
RegExp অবজেক্টের 4টি বৈশিষ্ট্য রয়েছে:
VBA RegExp সীমাবদ্ধতা
Excel VBA প্রয়োজনীয় regex প্যাটার্ন প্রয়োগ করে, কিন্তু এতে অনেক উন্নত বৈশিষ্ট্যের অভাব নেই .NET, পার্ল, জাভা এবং অন্যান্য রেজেক্স ইঞ্জিনে উপলব্ধ। উদাহরণ স্বরূপ, VBA RegExp ইনলাইন মডিফায়ারকে সমর্থন করে না যেমন (?i) কেস-ইনসেনসিটিভ ম্যাচিংয়ের জন্য বা (?m) মাল্টি-লাইন মোড, লুক বিহাইন্ডস, POSIX ক্লাসের জন্য, কিছু নাম।
Excel Regex ম্যাচ ফাংশন
RegExpMatch ফাংশন পাঠ্যের জন্য একটি ইনপুট স্ট্রিং অনুসন্ধান করে যা একটি রেগুলার এক্সপ্রেশনের সাথে মেলে এবং যদি একটি মিল পাওয়া যায় তাহলে TRUE প্রদান করে, অন্যথায় FALSE।
RegExpMatch(টেক্সট, প্যাটার্ন, [ match_case])কোথায়:
ফাংশনের কোডটি এখানে রয়েছে৷
উদাহরণ: স্ট্রিংগুলিকে মেলানোর জন্য রেগুলার এক্সপ্রেশন কীভাবে ব্যবহার করবেন
নীচের ডেটাসেটে, ধরুন আপনি চান SKU কোডগুলি সম্বলিত এন্ট্রিগুলি সনাক্ত করতে৷
প্রদত্ত যে প্রতিটি SKU 2টি বড় অক্ষর দিয়ে শুরু হয়, একটি হাইফেন দ্বারা, তারপর 4টি সংখ্যা দ্বারা, আপনি নিম্নলিখিত অভিব্যক্তিটি ব্যবহার করে তাদের সাথে মেলাতে পারেন৷
প্যাটার্ন : \b[A-Z]{2}-\d{4}\b
যেখানে [A-Z]{2} মানে A থেকে Z এবং \d{4 পর্যন্ত যেকোনো 2টি বড় হাতের অক্ষর } মানে 0 থেকে 9 পর্যন্ত যেকোনো 4টি সংখ্যা। একটি শব্দের সীমানা \b নির্দেশ করে যে একটি SKU একটি পৃথক শব্দ এবং একটি বড় স্ট্রিংয়ের অংশ নয়।
প্যাটার্নটি প্রতিষ্ঠিত হওয়ার সাথে সাথে, আপনি সাধারণত যেভাবে করেন সেভাবে একটি সূত্র টাইপ করা শুরু করুন , এবং ফাংশনের নাম এক্সেলের স্বয়ংসম্পূর্ণ দ্বারা প্রস্তাবিত তালিকায় উপস্থিত হবে:
অরিজিনাল স্ট্রিংটি A5 এ অনুমান করে, সূত্রটি নিম্নরূপ:
=RegExpMatch(A5, "\b[A-Z]{2}-\d{3}\b")
সুবিধার জন্য, আপনি একটি পৃথক কক্ষে নিয়মিত অভিব্যক্তি ইনপুট করতে পারেন এবং প্যাটার্ন আর্গুমেনের জন্য একটি পরম রেফারেন্স ($A$2) ব্যবহার করতে পারেন t. এটি নিশ্চিত করে যে আপনি যখন অন্য কক্ষে সূত্রটি অনুলিপি করবেন তখন ঘরের ঠিকানা অপরিবর্তিত থাকবে:
=RegExpMatch(A5, $A$2)
TRUE এবং FALSE এর পরিবর্তে আপনার নিজস্ব পাঠ্য লেবেল প্রদর্শন করতে, IF ফাংশনে RegExpMatch নেস্ট করুন এবং value_if_true এবং value_if_false -এ পছন্দসই পাঠ্যগুলি নির্দিষ্ট করুনপ্লাস 5 দেয় 15 , ম্যাচ 15
অল্টারনেশন (OR) কনস্ট্রাক্ট
অল্টারনেশন অপারেন্ড OR লজিককে সক্ষম করে, যাতে আপনি এই বা সেই উপাদানটির সাথে মিল রাখতে পারেন।
Construct | বিবরণ | উদাহরণ | মিলগুলি |