বিষয়বস্তুৰ তালিকা
এই টিউটোৰিয়েলত আমি Excel ত ষ্ট্ৰিং মিলাবলৈ regex কেনেকৈ ব্যৱহাৰ কৰিব লাগে তাৰ ওপৰত গভীৰভাৱে চাম।
যেতিয়া আপুনি এটা ৰেঞ্জত এটা নিৰ্দিষ্ট মান বিচাৰিব লাগে কোষসমূহৰ, আপুনি MATCH বা XMATCH ফলন ব্যৱহাৰ কৰিব। এটা কোষত এটা নিৰ্দিষ্ট ষ্ট্ৰিং বিচাৰিলে, FIND আৰু SEARCH ফাংচনসমূহ কামত আহে। আৰু এটা কোষত এটা নিৰ্দিষ্ট আৰ্হিৰ সৈতে মিল থকা তথ্য আছে নে নাই আপুনি কেনেকৈ জানিব? স্পষ্টভাৱে নিয়মীয়া অভিব্যক্তি ব্যৱহাৰ কৰি। কিন্তু আউট অৱ দ্য বক্স এক্সেলে ৰেগেক্স সমৰ্থন নকৰে! চিন্তা নাই, আমি ইয়াক জোৰ কৰিম :)
ষ্ট্ৰিং মিলাবলৈ VBA Regex ফাংচন এক্সেল কৰক
যিহেতু ই হেডিঙৰ পৰা যথেষ্ট স্পষ্ট, নিয়মীয়া এক্সপ্ৰেচন ব্যৱহাৰ কৰিবলৈ Excel ত, আপুনি নিজৰ ফাংচন সৃষ্টি কৰিব লাগিব। ভাগ্য ভাল যে, Excel ৰ VBA ত এটা ইনবিল্ট RegExp বস্তু আছে, যিটো আপুনি তলত দেখুওৱাৰ দৰে আপোনাৰ ক'ডত ব্যৱহাৰ কৰিব পাৰে:
ৰাজহুৱা কাৰ্য্য RegExpMatch(input_range As Range, pattern As String , Optional match_case As Boolean = True ) As ভেৰিয়েন্ট Dim arRes() ভেৰিয়েন্ট হিচাপে ফলাফল সংৰক্ষণ কৰিবলৈ এৰে Dim iInputCurRow, iInputCurCol, cntInputRows, cntInputCols As Long 'উৎস পৰিসীমাত বৰ্তমান শাৰীৰ সূচী, উৎস পৰিসীমাত বৰ্তমান স্তম্ভৰ সূচী, শাৰীৰ গণনা, গণনা স্তম্ভসমূহ ত্ৰুটিত যাওক ErrHandl RegExpMatch = arRes Set regex = CreateObject ( "VBScript.RegExp" ) regex.pattern = আৰ্হি regex.Global = সত্য regex.MultiLine = সত্য যদি সত্য = match_case তেন্তে regex.ignorecase = মিছা অন্যথা regex.ignorecase = সত্য সমাপ্তঅভিব্যক্তি।প্যাটাৰ্ণ : \b[\w\.\-]+@[এ-জা-z0-9]+[এ-জা-z0-9\.\- ]*[A-Za-z0-9]+\.[A-Za-z]{2,24}\b
ইয়াত কি চলি আছে ভালদৰে বুজিবলৈ প্ৰতিটো অংশ ভালদৰে চাওঁ আহক :
- ব্যৱহাৰকাৰীৰ নাম ত আখৰ, সংখ্যা, আণ্ডাৰস্কোৰ, বিন্দু আৰু হাইফেন থাকিব পাৰে। মনত ৰাখি যে \w যিকোনো আখৰ, সংখ্যা বা আণ্ডাৰস্কোৰৰ সৈতে মিল খায়, আমি নিম্নলিখিত regex পাম: [\w\.\-]+
- ডমেইন নাম ত ডাঙৰ আৰু সৰু আখৰ অন্তৰ্ভুক্ত হ'ব পাৰে, সংখ্যা, হাইফেন (কিন্তু প্ৰথম বা শেষ অৱস্থানত নহয়) আৰু বিন্দু (উপডমেইনৰ ক্ষেত্ৰত)। যিহেতু আণ্ডাৰস্কোৰৰ অনুমতি নাই, \w ৰ পৰিবৰ্তে আমি ৩টা ভিন্ন আখৰৰ গোট ব্যৱহাৰ কৰিছো: [A-Za-z0-9]+[A-Za-z0-9\.\-]*[A-Za-z0-9 ]+
- শীৰ্ষ স্তৰৰ ডমেইন এটা বিন্দুৰে গঠিত আৰু তাৰ পিছত ডাঙৰ আৰু সৰু আখৰ থাকে। ইয়াত ২ৰ পৰা ২৪টা আখৰ থাকিব পাৰে (বৰ্তমান অস্তিত্বত থকা আটাইতকৈ দীঘল TLD): \.[A-Za-z]{2,24}
টোকা। আৰ্হিটোৱে ধৰি লৈছে যে ডমেইন নামত ২ বা তাতকৈ অধিক আলফানিউমেৰিক আখৰ আছে।
A5 ত মূল লিখনী আৰু A5 ত আৰ্হিৰ সৈতে, সূত্ৰটোৱে এই আকৃতি লয়:
=RegExpMatch(A5, $A$2)
বা আপুনি এটা সৰল নিয়মীয়া ব্যৱহাৰ কৰিব পাৰে এটা সৰু বা ডাঙৰ আখৰৰ গোটৰ সৈতে ইমেইল বৈধকৰণৰ বাবে অভিব্যক্তি:
Pattern : \b[\w\.\-]+@[a-z0-9]+[a- z0-9\.\-]*[a-z0-9]+\.[a-z]{2,24}\b
কিন্তু আপোনাৰ সূত্ৰটো কেছ-অসংবেদনশীল কৰক:
=RegExpMatch(A5, $A$2, FALSE)
মেচ regex ৰ সৈতে এক্সেল IF সূত্ৰ
এই সত্যৰ বাবে যে ইনবিল্ট আৰু কাষ্টমফাংচনসমূহ সুন্দৰকৈ চলে, এনেকুৱা একো নাই যিয়ে আপোনাক সিহতক এটা সূত্ৰত একেলগে ব্যৱহাৰ কৰাত বাধা দিব।
যদি এটা নিয়মীয়া এক্সপ্ৰেচন মিল আছে তেন্তে কিবা এটা ঘূৰাই দিবলৈ বা গণনা কৰিবলৈ আৰু যদি ই মিল নাথাকে তেন্তে আন কিবা এটা, স্বনিৰ্বাচিত RegExpMatch এম্বেড কৰক IF ৰ লজিকেল লিখনিত ফাংচন:
IF(RegExpMatch(...), [value_if_true], [value_if_false])উদাহৰণস্বৰূপে, যদি A5 ৰ এটা ষ্ট্ৰিঙত এটা বৈধ ইমেইল ঠিকনা থাকে, আপুনি "হয়" ঘূৰাই দিব পাৰে; অন্যথা "নাই".
=IF(RegExpMatch(A5, $A$2,), "Yes", "No")
regex মিল থাকিলে গণনা কৰক
যিহেতু স্থানীয় Excel ফাংচনসমূহে নিয়মীয়া এক্সপ্ৰেচনসমূহ সমৰ্থন নকৰে, ই COUNTIS বা COUNTIFS ফাংচনত এটা regex পোনপটীয়াকৈ ৰখা সম্ভৱ নহয় । ভাগ্য ভাল যে, আপুনি আমাৰ কাষ্টম ফাংচন ব্যৱহাৰ কৰি এই কাৰ্য্যকৰীতা অনুকৰণ কৰিব পাৰে।
ধৰি লওক আপুনি ফোন নম্বৰসমূহ মিলাবলৈ এটা regex ব্যৱহাৰ কৰিছে আৰু স্তম্ভ B ত ফলাফলসমূহ আউটপুট কৰিছে। কিমান কোষত ফোন নম্বৰ আছে জানিবলৈ, আপুনি মাত্ৰ প্ৰয়োজন B5:B9 ত TRUE মানসমূহ গণনা কৰিবলে। আৰু সেইটো সহজেই প্ৰামাণিক COUNTIF সূত্ৰ ব্যৱহাৰ কৰি কৰিব পাৰি:
=COUNTIF(B5:B9, TRUE)
আপোনাৰ কাৰ্য্যপত্ৰিকাত কোনো অতিৰিক্ত স্তম্ভ নিবিচাৰেনে? কোনো সমস্যা নাই. মনত ৰাখি যে আমাৰ কাষ্টম ফাংচনে এটা সময়ত একাধিক চেল প্ৰচেছ কৰিব পাৰে আৰু এক্সেলৰ SUM এ এটা এৰেত মান যোগ কৰিব পাৰে, ইয়াত আপুনি কি কৰে:
- RegExpMatch লৈ এটা ৰেঞ্জ ৰেফাৰেন্স যোগান ধৰে, যাতে ই এটা ঘূৰাই দিয়ে TRUE আৰু FALSE মানসমূহৰ এৰে।
- লজিকেল মানসমূহক এটা আৰুশূন্য।
- ফলস্বৰূপ এৰেত 1 আৰু 0 যোগ কৰিবলৈ SUM ফাংচন পাওক।
=SUM(--RegExpMatch(A5:A9, $A$2))
Regex মিলন আমাৰ আলটিমেট চুইটৰ ব্যৱহাৰকাৰীসকলে তেওঁলোকৰ কাৰ্য্যপুস্তিকাত কোনো VBA ক'ড যোগ নকৰাকৈ চাৰিটা শক্তিশালী Regex ফাংচন লাভ কৰিব পাৰে কাৰণ এড-ইন সংস্থাপনৰ সময়ত সিহতক Excel ত মসৃণভাৱে সংহতি কৰা হয়। আমাৰ কাষ্টম ফাংচনসমূহ প্ৰামাণিক .NET RegEx ইঞ্জিনৰ দ্বাৰা প্ৰক্ৰিয়া কৰা হয় আৰু সম্পূৰ্ণ-বৈশিষ্ট্যযুক্ত ক্লাছিক নিয়মীয়া এক্সপ্ৰেচনসমূহ সমৰ্থন কৰে।
কাষ্টম RegexMatch ফাংচন কেনেকৈ ব্যৱহাৰ কৰিব
আপুনি Ultimate Suite ৰ শেহতীয়া সংস্কৰণ সংস্থাপন কৰিছে বুলি ধৰি লওক ( 2021.4 বা পিছৰ), আপুনি দুটা সৰল পদক্ষেপত এটা Regex Match সূত্ৰ সৃষ্টি কৰিব পাৰে:
- Ablebits ডাটা টেবত, পাঠ গোটত, ক্লিক কৰক Regex সঁজুলিসমূহ ।
- নিৰ্বাচন কৰক উৎস স্ট্ৰিংসমূহ।
- আপোনাৰ আৰ্হি সুমুৱাওক।
- মিল বিকল্প নিৰ্ব্বাচন কৰক।
- ফলসমূহ মান হিচাপে নহয়, সূত্ৰ হিচাপে পাবলৈ, <নিৰ্ব্বাচন কৰক 8>সূত্ৰ হিচাপে সন্নিবিষ্ট কৰক চেক বাকচ।
- মিল বুটাম ক্লিক কৰক।
এটা মুহূৰ্তৰ পিছত, AblebitsRegexMatch ফলন আপোনাৰ তথ্যৰ সোঁফালে এটা নতুন স্তম্ভত সন্নিবিষ্ট কৰা হয়।
তলৰ পৰ্দাশটত, ফাংচনে পৰীক্ষা কৰে যে A স্তম্ভত ষ্ট্ৰিংসমূহত 7-অংক আছে নে নাই সংখ্যা বা নহয়।
টিপচ্:
- কাৰ্য্য tion এটা কোষ ত পোনপটীয়াকৈ সন্নিৱিষ্ট কৰিব পাৰি প্ৰামাণিক ফলন সন্নিবিষ্ট কৰক সংলাপ বাকচৰ যোগেদি, য'ত ইয়াক AblebitsUDFs ৰ অন্তৰ্গত শ্ৰেণীভুক্ত কৰা হৈছে।
- অবিকল্পিতভাৱে, এটা নিয়মিত অভিব্যক্তি সূত্ৰত যোগ কৰা হয়, কিন্তু আপুনি ৰাখিব পাৰে ইয়াক এটা পৃথক কোষত ৰখা হয়। ইয়াৰ বাবে, মাত্ৰ ২য় যুক্তিৰ বাবে এটা ঘৰ প্ৰসংগ ব্যৱহাৰ কৰক।
- অবিকল্পিতভাৱে, ফলনটো আখৰ-আখৰৰ সংবেদনশীল । কেছ-অসংবেদনশীল মিলৰ বাবে, (?i) আৰ্হি ব্যৱহাৰ কৰক।
অধিক তথ্যৰ বাবে, অনুগ্ৰহ কৰি AblebitsRegexMatch ফাংচন চাওক।
এক্সেলত নিয়মীয়া এক্সপ্ৰেচন মিলন এনেদৰে কৰিব লাগে। পঢ়াৰ বাবে ধন্যবাদ আৰু অহা সপ্তাহত আমাৰ ব্লগত আপোনাক লগ পাবলৈ আগ্ৰহী!
উপলব্ধ ডাউনলোড
এক্সেল ৰেজেক্স মেচৰ উদাহৰণ (.xlsm ফাইল)
আলটিমেট ছুইট ১৪- দিন সম্পূৰ্ণৰূপে-কাৰ্য্যকৰী সংস্কৰণ (.exe ফাইল)
যদি cntInputRows = input_range.Rows.Count cntInputCols = input_range.Columns.Count ReDim arRes(1 cntInputRows লৈ, 1 cntInputCols লৈ) iInputCurRow ৰ বাবে = 1 iInputCurCol ৰ বাবে cntInputRows লৈ = 1 cntInputCols লৈ arRes(iInputCurRow, iInputCurCol .Cells(iInputCurRow, iInputCurCol).Value) পৰৱৰ্তী পৰৱৰ্তী RegExpMatch = arRes প্ৰস্থান ফাংচন ErrHandl: RegExpMatch = CVERrr(xlErrValue) শেষ ফাংচনVBA সম্পাদকত ক'ড পেষ্ট কৰক, আৰু আপোনাৰ নতুন RegExpMatch ফাংচন হ'ল ব্যৱহাৰৰ বাবে সাজু। যদি আপুনি VBA ৰ সৈতে বৰ অভিজ্ঞ নহয়, এই সহায়ক সহায়ক হব পাৰে: Excel ত VBA ক'ড কেনেকৈ সন্নিবিষ্ট কৰিব লাগে।
টোকা। ক'ড সন্নিবিষ্ট কৰাৰ পিছত, আপোনাৰ নথিপত্ৰক এটা মেক্ৰ'-সামৰ্থবান কাৰ্য্যপুস্তিকা (.xlsm) হিচাপে সংৰক্ষণ কৰিবলৈ মনত ৰাখিব।
RegExpMatch বাক্যবিন্যাস
RegExpMatch ফাংচনে উৎস ষ্ট্ৰিঙৰ কোনো অংশ এটা নিয়মিত এক্সপ্ৰেচনৰ সৈতে মিল আছে নে নাই পৰীক্ষা কৰে। ফলাফল এটা বুলিয়ান মান: TRUE যদি অন্ততঃ এটা মিল পোৱা যায়, অন্যথা FALSE।
আমাৰ কাষ্টম ফাংচনত 3 টা যুক্তি আছে - প্ৰথম দুটা প্ৰয়োজনীয় আৰু শেষৰটো বৈকল্পিক:
RegExpMatch(text , pattern, [match_case])ক'ত:
- পাঠ (প্ৰয়োজনীয়) - সন্ধান কৰিবলৈ এটা বা অধিক ষ্ট্ৰিং। এটা কোষ বা পৰিসীমা প্ৰসংগ হিচাপে যোগান ধৰিব পাৰি।
- প্যাটাৰ্ণ (প্ৰয়োজনীয়) - মিল থকা নিয়মীয়া অভিব্যক্তি। যেতিয়া এটা সূত্ৰত পোনপটীয়াকৈ ৰখা হয়, এটা আৰ্হিক দুটা উদ্ধৃতিত আবদ্ধ কৰিব লাগিব।
- Match_case (ঐচ্ছিক) - মিল সংজ্ঞায়িত কৰেপ্ৰকাৰ. যদি TRUE বা বাদ দিয়া হৈছে (অবিকল্পিত), ডাঙৰ-বৰ-সংবেদনশীল মিল কৰা হয়; যদি FALSE - case-insensitive.
ফাংচনটোৱে Excel 365, Excel 2021, Excel 2019, Excel 2016, Excel 2013 আৰু Excel 2010 ৰ সকলো সংস্কৰণতে কাম কৰে।
3 কথা আপুনি RegExpMatch
আমি ব্যৱহাৰিক গণনালৈ যোৱাৰ আগতে, অনুগ্ৰহ কৰি নিম্নলিখিত বিন্দুসমূহ লক্ষ্য কৰক যিয়ে কিছুমান কাৰিকৰী দিশ স্পষ্ট কৰে:
- ফাংচনে এটা একক কোষ<9 প্ৰক্ৰিয়া কৰিব পাৰে> বা কোষৰ পৰিসৰ । পিছৰ ক্ষেত্ৰত, ফলাফলসমূহ ওচৰৰ কোষসমূহত এটা গতিশীল এৰে, বা স্পিল পৰিসীমাৰ আকাৰত ঘূৰাই দিয়া হয়, এই উদাহৰণত দেখুওৱাৰ দৰে।
- অবিকল্পিতভাৱে, ফলনটো আখৰৰ সংবেদনশীল<৯>। লিখনী কেছ আওকাণ কৰিবলে, match_case যুক্তিক FALSE লে সংহতি কৰক। VBA Regexp সীমাবদ্ধতাৰ বাবে, কেছ-অসংবেদনশীল আৰ্হি (?i) সমৰ্থিত নহয়।
- যদি এটা বৈধ আৰ্হি পোৱা নাযায়, ফাংচনে FALSE ঘূৰাই দিয়ে; যদি পেটাৰ্ণ অবৈধ , এটা #VALUE!
তলত, আপুনি কেইটামান regex মিলৰ উদাহৰণ পাব যি প্ৰদৰ্শনৰ উদ্দেশ্যে সৃষ্টি কৰা হৈছিল। আমি নিশ্চয়তা দিব নোৱাৰো যে আমাৰ আৰ্হিসমূহে আপোনাৰ প্ৰকৃত কাৰ্য্যপত্ৰিকাসমূহত ইনপুট ডাটাৰ বহল পৰিসৰৰ সৈতে ত্ৰুটিহীনভাৱে কাম কৰিব। উৎপাদনত ৰখাৰ আগতে, আপোনাৰ প্ৰয়োজন অনুসৰি আমাৰ নমুনাৰ আৰ্হিসমূহ পৰীক্ষা আৰু সামঞ্জস্য কৰাটো নিশ্চিত কৰক।
এক্সেলত ষ্ট্ৰিংসমূহ মিলাবলৈ regex কেনেকৈ ব্যৱহাৰ কৰিব
যেতিয়া আপুনি মিলাব বিচৰা সকলো ষ্ট্ৰিংসমূহৰ... একে ধৰণৰ আৰ্হি,নিয়মীয়া অভিব্যক্তিসমূহ এটা আদৰ্শ সমাধান।
ধৰি লওক আপোনাৰ ওচৰত কিছুমান বস্তুৰ বিষয়ে বিভিন্ন বিৱৰণ থকা কোষৰ এটা পৰিসীমা (A5:A9) আছে। আপুনি জানিব বিচাৰে কোনবোৰ কোষত SKU আছে। ধৰি লওক যে প্ৰতিটো SKU 2 টা ডাঙৰ আখৰ, এটা হাইফেন, আৰু 3 টা সংখ্যাৰে গঠিত, আপুনি নিম্নলিখিত এক্সপ্ৰেচন ব্যৱহাৰ কৰি সিহতক মিলাব পাৰিব।
Pattern : \b[A-Z]{2}-\ d{3}\b
য'ত [A-Z]{2} ৰ অৰ্থ হৈছে A ৰ পৰা Z লৈকে যিকোনো 2 টা ডাঙৰ আখৰ আৰু \d{3} ৰ অৰ্থ হৈছে 0 ৰ পৰা 9 লৈকে যিকোনো 3 টা সংখ্যা। \b আখৰে এটা শব্দ বুজায় সীমা, অৰ্থাৎ এটা SKU এটা পৃথক শব্দ, আৰু এটা ডাঙৰ ষ্ট্ৰিং যেনে 23-MAR-2022 ৰ অংশ নহয়।
প্যাটাৰ্ণ প্ৰতিষ্ঠা কৰিলে, আমি এটা সূত্ৰ লিখালৈ আগবাঢ়িব পাৰো। মূলতঃ কাষ্টম ফাংচন ব্যৱহাৰ কৰাটো স্থানীয় ফাংচনৰ পৰা পৃথক নহয়। আপুনি এটা সূত্ৰ টাইপ কৰিবলৈ আৰম্ভ কৰাৰ লগে লগে, এক্সেলৰ অটোকম্প্লিটে পৰামৰ্শ দিয়া তালিকাত ফাংচনটোৰ নাম ওলাব। কিন্তু ডাইনামিক এৰে এক্সেল (মাইক্ৰ'ছফ্ট ৩৬৫ আৰু এক্সেল ২০২১) আৰু পৰম্পৰাগত এক্সেল (২০১৯ আৰু পুৰণি সংস্কৰণ)ত দুটামান সূক্ষ্মতা আছে।
এটা চেলত ষ্ট্ৰিং মিলাওক
এটা ষ্ট্ৰিং মিলাবলৈ এটা কোষত, প্ৰথম যুক্তিত সেই কোষটোক উল্লেখ কৰক। দ্বিতীয় যুক্তিটোত এটা নিয়মীয়া অভিব্যক্তি থাকিব লাগে।
=RegExpMatch(A5, "\b[A-Z]{2}-\d{3}\b")
প্যাটাৰ্ণটোক এটা পূৰ্বনিৰ্ধাৰিত কোষতো ৰাখিব পাৰি, যিটো এটা নিৰপেক্ষ প্ৰসংগ ($A$2)ৰ সৈতে লক কৰা হয়:
=RegExpMatch(A5, $A$2)
প্ৰথম ঘৰত সূত্ৰটো প্ৰৱেশ কৰাৰ পিছত, আপুনি ইয়াক অন্য সকলো শাৰীলৈ তললৈ টানিব পাৰে।
এই পদ্ধতি সকলো Excel সংস্কৰণ ত সুন্দৰভাৱে কাম কৰে।
একেবাৰে একাধিক কোষত ষ্ট্ৰিং মিলাওক
এটা সূত্ৰৰ সৈতে একাধিক ষ্ট্ৰিং মিলাবলৈ, প্ৰথম যুক্তিত এটা পৰিসীমা প্ৰসংগ অন্তৰ্ভুক্ত কৰক:
=RegExpMatch(A5:A9, "\b[A-Z]{2}-\d{3}\b")
Excel 365 আৰু Excel 2021 ত যিয়ে গতিশীল এৰে সমৰ্থন কৰে, ই এইদৰে কাম কৰে - আপুনি প্ৰথম ঘৰত সূত্ৰটো টাইপ কৰে, Enter টিপক, আৰু সূত্ৰটো স্বয়ংক্ৰিয়ভাৱে তলৰ ঘৰবোৰলৈ ছিটিকি পৰে।
Excel 2019 আৰু ইয়াৰ আগতে, ই কেৱল এটা পৰম্পৰাগত CSE এৰে সূত্ৰ হিচাপে কাম কৰে, যি কোষৰ এটা পৰিসীমাত প্ৰৱেশ কৰা হয় আৰু Ctrl + Shift + Enter কি'সমূহ একেলগে টিপি সম্পূৰ্ণ কৰা হয়।
Regex to match number
0 ৰ পৰা 9 লৈ যিকোনো একক সংখ্যা মিলাবলৈ, regex ত \d আখৰ ব্যৱহাৰ কৰক। আপোনাৰ বিশেষ কামৰ ওপৰত নিৰ্ভৰ কৰি, এটা উপযুক্ত পৰিমাণীকৰণ যোগ কৰক বা এটা অধিক জটিল আৰ্হি সৃষ্টি কৰক।
যিকোনো সংখ্যাৰ সৈতে মিলাবলৈ Regex
যিকোনো দৈৰ্ঘ্যৰ যিকোনো সংখ্যাৰ সৈতে মিলাবলৈ, + পৰিমাণীকৰণক / ৰ ঠিক পিছত ৰাখক। d আখৰ, যিয়ে কয় যে ১ বা তাতকৈ অধিক সংখ্যা থকা সংখ্যা বিচাৰিব লাগে।
প্যাটাৰ্ণ : \d+
=RegExpMatch(A5:A9, "\d+")
নিৰ্দিষ্ট দৈৰ্ঘ্যৰ সংখ্যা মিলাবলৈ Regex
যদি আপোনাৰ লক্ষ্য এটা নিৰ্দিষ্ট সংখ্যক সংখ্যা ধাৰণ কৰা সংখ্যাগত মানসমূহ মিলাব লাগে, তেন্তে \d এটা উপযুক্ত পৰিমাণীকৰণৰ সৈতে একেলগে ব্যৱহাৰ কৰক।
উদাহৰণস্বৰূপে, হুবহু 7 সংখ্যাৰে গঠিত চালান নম্বৰসমূহৰ সৈতে মিলাবলৈ, আপুনি \d{7} ব্যৱহাৰ কৰিব। অৱশ্যে মনত ৰাখিব যে ই ৭ ৰ লগত মিলিবআশা কৰা মতে:
টোকাসমূহ:
- আন্তঃৰাষ্ট্ৰীয় ক'ডসমূহ পৰীক্ষা কৰা নহয়, গতিকে সিহঁত উপস্থিত থাকিব পাৰে বা নাথাকিবও পাৰে।
- নিয়মিত অভিব্যক্তিসমূহত, \s য়ে যিকোনো বগাস্থান আখৰৰ বাবে বুজায় যেনে এটা স্থান, টেব, কেৰেজ ৰিটাৰ্ণ, বা নতুন শাৰী। কেৱল খালী ঠাইৰ অনুমতি দিবলৈ, [-\ ব্যৱহাৰ কৰক। ]. বন্ধনীত নথকা যিকোনো বস্তু। উদাহৰণস্বৰূপে:
- [^13] 1 বা 3 নহয় যিকোনো এটা আখৰৰ সৈতে মিলাব।
- [^1-3] 1, 1 নহয় যিকোনো এটা আখৰৰ সৈতে মিলিব। ২ বা ৩ (অৰ্থাৎ ১ৰ পৰা ৩লৈকে যিকোনো সংখ্যা)।
ফোন নম্বৰৰ তালিকাত ধৰি লওক আপুনি সেইবোৰ বিচাৰিব বিচাৰে যাৰ দেশৰ ক'ড নাই। মনত ৰাখি যে যিকোনো আন্তঃৰাষ্ট্ৰীয় ক'ডে + চিহ্ন অন্তৰ্ভুক্ত কৰে, আপুনি [^\+] আখৰ শ্ৰেণী ব্যৱহাৰ কৰিব পাৰে ষ্ট্ৰিং বিচাৰিবলৈ যিবোৰত যোগ চিহ্ন নাই। এইটো উপলব্ধি কৰাটো গুৰুত্বপূৰ্ণ যে ওপৰৰ অভিব্যক্তিটো + নহয় যিকোনো এটা আখৰৰ সৈতে মিল খায়। যিহেতু এটা ফোন নম্বৰ এটা ষ্ট্ৰিংৰ যিকোনো ঠাইত থাকিব পাৰে, একেবাৰে আৰম্ভণিতে নহয়, গতিকে পৰৱৰ্তী প্ৰতিটো আখৰ পৰীক্ষা কৰিবলৈ * পৰিমাণীকৰণ যোগ কৰা হয়। আৰম্ভণি ^ আৰু শেষ $ এংকৰসমূহে নিশ্চিত কৰে যে সম্পূৰ্ণ ষ্ট্ৰিংটো প্ৰক্ৰিয়া কৰা হৈছে। ফলত আমি তলৰ নিয়মীয়া এক্সপ্ৰেচনটো পাম যিয়ে কয় "ষ্ট্ৰিংৰ কোনো স্থানত + আখৰৰ সৈতে মিল নাথাকক"।
Pattern :^[^\+]*$
=RegExpMatch(A5, "^[^\+]*$")
ষ্ট্ৰিংৰ সৈতে মিল নাথাকিবলৈ Regex
যদিও ইয়াৰ বাবে কোনো বিশেষ নিয়মীয়া অভিব্যক্তি বাক্যবিন্যাস নাই এটা নিৰ্দিষ্ট ষ্ট্ৰিংৰ সৈতে মিল নোহোৱাকৈ, আপুনি এটা ঋণাত্মক লুকএহেড ব্যৱহাৰ কৰি এই আচৰণ অনুকৰণ কৰিব পাৰে।
ধৰি লওক আপুনি এনে ষ্ট্ৰিং বিচাৰিব বিচাৰে য'ত নেমু শব্দটো নাই। এই নিয়মীয়া অভিব্যক্তিটোৱে এটা ট্ৰিট কাম কৰিব:
পেটাৰ্ণ : ^((?!নেমু).)*$
স্পষ্টভাৱে, ইয়াত কিছু ব্যাখ্যাৰ প্ৰয়োজন। নেতিবাচক লুকহেড (?!lemons) টোৱে সোঁফালে চায় যে আগলৈ "lemons" শব্দটো নাই নেকি। যদি "নেমু" নাই, তেন্তে বিন্দুটো ৰেখা বিচ্ছেদৰ বাহিৰে যিকোনো আখৰৰ সৈতে মিল খায়। ওপৰৰ এক্সপ্ৰেচনে মাত্ৰ এটা পৰীক্ষা কৰে, আৰু * কোৱাণ্টাইফায়াৰে ইয়াক শূন্য বা তাতকৈ অধিকবাৰ পুনৰাবৃত্তি কৰে, ^ দ্বাৰা এংকৰ কৰা ষ্ট্ৰিঙৰ আৰম্ভণিৰ পৰা $ দ্বাৰা এংকৰ কৰা ষ্ট্ৰিঙৰ শেষলৈকে।
টেক্সট কেছক আওকাণ কৰিবলৈ, আমি আমাৰ ফাংচনটোক কেছ-অসংবেদনশীল কৰিবলৈ তৃতীয় যুক্তিটোক FALSE লে ছেট কৰো:
=RegExpMatch(A5, $A$2, FALSE)
টিপচ্ আৰু টোকাসমূহ:
- ওপৰৰ regex এ কেৱল এক-শাৰী ষ্ট্ৰিংসমূহৰ বাবে কাম কৰে। মিল্টি-লাইন ষ্ট্ৰিংৰ ক্ষেত্ৰত, ^ আৰু $ আখৰসমূহে ইনপুট ষ্ট্ৰিঙৰ আৰম্ভণি আৰু শেষৰ পৰিবৰ্তে প্ৰতিটো শাৰীৰ আৰম্ভণি আৰু শেষৰ সৈতে মিলে, সেয়েহে regex এ কেৱল প্ৰথম শাৰীতহে সন্ধান কৰে।
- নিৰ্দিষ্ট লিখনীৰ সৈতে আৰম্ভ নকৰা ষ্ট্ৰিংসমূহ মিলাবলৈ, এটা নিয়মীয়া অভিব্যক্তি যেনে ^(?!lemons) ব্যৱহাৰ কৰক।*$
- নিৰ্দিষ্ট লিখনীৰ সৈতে সমাপ্ত নোহোৱা স্ট্ৰিংসমূহ মিলাবলৈ, অন্তৰ্ভুক্ত কৰকঅনুসন্ধান আৰ্হিত শেষ ষ্ট্ৰিং এংকৰ কৰে: ^((?!lemons$).)*$
আখৰৰ সংবেদনহীন মিল
ক্লাছিক নিয়মীয়া অভিব্যক্তিসমূহত, ৰ বাবে এটা বিশেষ আৰ্হি আছে কেছ-অসংবেদনশীল মিলন (?i), যি VBA RegExp ত সমৰ্থিত নহয়। এই সীমাবদ্ধতা অতিক্ৰম কৰিবলৈ, আমাৰ স্বনিৰ্বাচিত ফাংচনে match_case নামৰ তৃতীয় বৈকল্পিক যুক্তি গ্ৰহণ কৰে। কেছ-অসংবেদনশীল মিল কৰিবলৈ, ইয়াক কেৱল FALSE লে সংহতি কৰক।
ধৰক আপুনি তাৰিখসমূহ যেনে 1-Mar-22 বা 01-MAR-2022 চিনাক্ত কৰিব বিচাৰে। dd-mmm-yyyy আৰু d-mmm-yy বিন্যাসসমূহৰ সৈতে মিলাবলৈ, আমি নিম্নলিখিত নিয়মিত অভিব্যক্তি ব্যৱহাৰ কৰিছো।
Pattern : \b\d{১,২}-(জানুৱাৰীএটা 10-অংক বা 100-অংকৰ সংখ্যা অন্তৰ্ভুক্ত কৰি ষ্ট্ৰিংৰ যিকোনো ঠাইত থকা সংখ্যাসমূহ। যদি আপুনি বিচৰাটো এইটো নহয়, দুয়োফালে সীমা \b শব্দটো ৰাখক।
প্যাটাৰ্ণ : \b\d{7}\b
=RegExpMatch(A5:A9, "\b\d{7}\b")
ফোন নম্বৰ মিলাবলৈ ৰেগেক্স
যিহেতু ফোন নম্বৰ বিভিন্ন ফৰ্মেটত লিখিব পাৰি, মিলাবলৈ অধিক অত্যাধুনিক নিয়মীয়া প্ৰকাশৰ প্ৰয়োজন হয়।
তলৰ ডাটাছেটত আমি ১০ অংকৰ সংখ্যা বিচাৰিম যিবোৰৰ প্ৰথম ২টা গ্ৰুপত ৩টা আৰু শেষৰ গ্ৰুপত ৪টা অংক থাকে। গোটবোৰক পিৰিয়ড, হাইফেন বা স্পেচেৰে পৃথক কৰিব পাৰি। প্ৰথম গোটটো বন্ধনীত আবদ্ধ হ'ব পাৰে বা নহ'বও পাৰে।
প্যাটাৰ্ণ: (\(\d{3}\)