Excel ত স্ট্ৰিংসমূহ এক্সট্ৰেক্ট কৰিবলৈ Regex (এটা বা সকলো মিল)

  • এইটো শ্বেয়াৰ কৰক
Michael Brown

বিষয়বস্তুৰ তালিকা

এই টিউটোৰিয়েলত, আপুনি এটা প্ৰদত্ত আৰ্হিৰ সৈতে মিল থকা উপষ্ট্ৰিংসমূহ বিচাৰি উলিয়াবলৈ আৰু এক্সট্ৰেক্ট কৰিবলৈ এক্সেলত নিয়মীয়া এক্সপ্ৰেচনসমূহ কেনেকৈ ব্যৱহাৰ কৰিব লাগে শিকিব।

মাইক্ৰ'ছফ্ট এক্সেলে লিখনী এক্সট্ৰেক্ট কৰিবলৈ বহুতো ফাংচন প্ৰদান কৰে কোষৰ পৰা। সেই ফাংচনসমূহে আপোনাৰ কাৰ্য্যপত্ৰিকাসমূহত বেছিভাগ ষ্ট্ৰিং নিষ্কাশন প্ৰত্যাহ্বানসমূহৰ সৈতে মোকাবিলা কৰিব পাৰে। বেছিভাগেই, কিন্তু সকলো নহয়। যেতিয়া Text ফাংচনবোৰ উজুটি খায়, তেতিয়া নিয়মীয়া এক্সপ্ৰেচনবোৰে সহায় কৰিবলৈ আহে। ৰ'বা... এক্সেলৰ কোনো RegEx ফাংচন নাই! সঁচা, কোনো ইনবিল্ট ফাংচন নাই। কিন্তু আপোনাৰ নিজৰ ব্যৱহাৰ কৰাত বাধা দিব পৰা একো নাই :)

    স্ট্ৰিং এক্সট্ৰেক্ট কৰিবলৈ এক্সেল VBA Regex ফাংচন

    আপোনাৰ এক্সেলত এটা কাষ্টম Regex এক্সট্ৰেক্ট ফাংচন যোগ কৰিবলৈ, VBA সম্পাদকত নিম্নলিখিত ক'ড পেষ্ট কৰক। VBA ত নিয়মীয়া এক্সপ্ৰেচন সামৰ্থবান কৰিবলৈ আমি বিল্ট-ইন Microsoft RegExp বস্তু ব্যৱহাৰ কৰিছো।

    ৰাজহুৱা ফাংচন RegExpExtract(text As String , pattern As String , Optional instance_num As Integer = 0, Optional match_case As Boolean = True ) Dim text_matches() String হিচাপে Dim matches_index পূৰ্ণসংখ্যা হিচাপে ত্ৰুটিত যাওক ErrHandl RegExpExtract = "" set regex = CreateObject ( "VBScript.RegExp" ) regex.pattern = আৰ্হি regex.Global = সত্য regex.MultiLine = সত্য যদি সত্য = match_case তেন্তে regex. ignorecase = মিছা অন্যথা regex.ignorecase = সত্য শেষ যদি Set matches = regex.Execute(text) যদি 0 < তাৰ পিছত যদি (0 = instance_num) তেন্তে ReDim text_matches(matches.Count - 1, 0) matches_index = 0 ৰ বাবেVBA RegExp, মই আপোনাক পৰৱৰ্তী অংশটো পঢ়িবলৈ উৎসাহিত কৰিছো যিয়ে বহুত বেছি শক্তিশালী .NET Regex ফাংচনসমূহৰ বিষয়ে আলোচনা কৰে।

    এক্সেলত লিখনী এক্সট্ৰেক্ট কৰিবলৈ কাষ্টম .NET ভিত্তিক Regex ফাংচন

    VBA RegExp ফাংচনসমূহৰ দৰে নহয় যিকোনো এক্সেল ব্যৱহাৰকাৰীয়ে লিখিব পাৰে, .NET RegEx হৈছে ডেভেলপাৰৰ ক্ষেত্ৰ। এই প্ৰবন্ধটোৱে আপোনাক এনে ফাংচন কেনেকৈ লিখিব লাগে শিকাব নোৱাৰে (মই এজন প্ৰগ্ৰেমাৰ নহয় আৰু সেইটো কেনেকৈ কৰিব লাগে তাৰ সামান্যতমো ধাৰণা নাই :)

    প্ৰমাণিক .NET RegEx ইঞ্জিনৰ দ্বাৰা প্ৰচেছ কৰা চাৰিটা শক্তিশালী ফাংচন ইতিমধ্যে আমাৰ ডেভেলপাৰসকলে লিখিছে আৰু Ultimate Suite ত অন্তৰ্ভুক্ত কৰিছে। তলত আমি এক্সেলত লিখনী উলিয়াবলৈ বিশেষভাৱে ডিজাইন কৰা ফাংচনটোৰ কিছুমান ব্যৱহাৰিক ব্যৱহাৰ প্ৰদৰ্শন কৰিম।

    টিপচ্। .NET Regex বাক্যবিন্যাসৰ বিষয়ে তথ্যৰ বাবে, অনুগ্ৰহ কৰি .NET নিয়মীয়া অভিব্যক্তি ভাষা চাওক।

    নিয়মিত এক্সপ্ৰেচন ব্যৱহাৰ কৰি এক্সেলত ষ্টিং কেনেকৈ এক্সট্ৰেক্ট কৰিব

    আপুনি আলটিমেট ছুইটৰ শেহতীয়া সংস্কৰণ ইনষ্টল কৰিছে বুলি ধৰি লওক, নিয়মীয়া এক্সপ্ৰেচন ব্যৱহাৰ কৰি টেক্সট এক্সট্ৰেক্ট কৰাটো এই দুটা পদক্ষেপলৈ উতলিব:

    1. Ablebits তথ্য টেবত, পাঠ গোটত, Regex সঁজুলিসমূহ ক্লিক কৰক।
    2. Regex সঁজুলিসমূহ পেনত, উৎস তথ্য নিৰ্ব্বাচন কৰক, আপোনাৰ Regex আৰ্হি সুমুৱাওক, আৰু Extract বিকল্প নিৰ্ব্বাচন কৰক। ফলাফলটো এটা মান নহয়, এটা স্বনিৰ্বাচিত ফলন হিচাপে পাবলৈ, সূত্ৰ হিচাপে সন্নিবিষ্ট কৰক পৰীক্ষা নিৰ্ব্বাচন কৰকবাকচ. যেতিয়া সম্পূৰ্ণ হয়, Extract বুটাম ক্লিক কৰক।

    ফলাফল আপোনাৰ মূল তথ্যৰ সোঁফালে এটা নতুন স্তম্ভত দেখা যাব:

    AblebitsRegexExtract বাক্যবিন্যাস

    আমাৰ স্বনিৰ্বাচিত ফাংচনৰ নিম্নলিখিত বাক্যবিন্যাস আছে:

    AblebitsRegexExtract(উল্লেখ, regular_expression)

    য'ত:

    • উল্লেখ (প্ৰয়োজনীয়) - উৎস ষ্ট্ৰিং ধাৰণ কৰা কোষৰ এটা প্ৰসংগ।
    • ৰেগুলাৰ_এক্সপ্ৰেচন (প্ৰয়োজনীয়) - মিলাবলৈ regex আৰ্হি।

    গুৰুত্বপূৰ্ণ টোকা! ফাংচনটোৱে কেৱল এক্সেলৰ বাবে আলটিমেট ছুইট ইনষ্টল কৰা মেচিনসমূহতহে কাম কৰে।

    ব্যৱহাৰৰ টোকাসমূহ

    আপোনাৰ শিক্ষণ বক্ৰ মসৃণ আৰু আপোনাৰ অভিজ্ঞতাক অধিক উপভোগ্য কৰিবলৈ, অনুগ্ৰহ কৰি এই বিন্দুসমূহৰ প্ৰতি মনোযোগ দিয়ক:

    1. এটা সূত্ৰ সৃষ্টি কৰিবলৈ, আপুনি আমাৰ Regex সঁজুলিসমূহ , বা Excel ৰ ফাংচন সন্নিবিষ্ট কৰক সংলাপ ব্যৱহাৰ কৰিব পাৰে, বা এটা কোষত সম্পূৰ্ণ ফাংচনৰ নাম টাইপ কৰিব পাৰে। এবাৰ সূত্ৰ সন্নিবিষ্ট হ'লে, আপুনি ইয়াক যিকোনো স্থানীয় সূত্ৰৰ দৰে পৰিচালনা কৰিব পাৰে (সম্পাদনা, কপি বা স্থানান্তৰ) ।
    2. আপুনি Regex সঁজুলিসমূহ পেনত প্ৰৱেশ কৰা আৰ্হিটো ২য় যুক্তিলৈ যায়। এটা সুকীয়া কোষত নিয়মীয়া প্ৰকাশ ৰখাটোও সম্ভৱ। এই ক্ষেত্ৰত, মাত্ৰ ২য় যুক্তিৰ বাবে এটা ঘৰ প্ৰসংগ ব্যৱহাৰ কৰক।
    3. ফাংচনে প্ৰথম পোৱা মিল এক্সট্ৰেক্ট কৰে।
    4. অবিকল্পিতভাৱে, ফাংচনটো ক্ষেত্ৰ -সংবেদনশীল । কেছ-অসংবেদনশীল মিলৰ বাবে, (?i) আৰ্হি ব্যৱহাৰ কৰক।
    5. যদি এটা মিল পোৱা নাযায়, এটা #N/A ভুল হয়returned.

    দুটা আখৰৰ মাজত ষ্ট্ৰিং এক্সট্ৰেক্ট কৰিবলৈ Regex

    দুটা আখৰৰ মাজত লিখনী পাবলৈ, আপুনি হয় এটা কেপচাৰিং গোট বা লুক-আৰউণ্ড ব্যৱহাৰ কৰিব পাৰে।

    আহক কওক যে আপুনি বন্ধনীৰ মাজত লিখনী এক্সট্ৰেক্ট কৰিব বিচাৰিছে। এটা ধৰা পেলোৱা গোট আটাইতকৈ সহজ উপায়।

    প্যাটাৰ্ণ ১ : \[(.*?)\]

    পিছলৈ আৰু আগলৈ ইতিবাচক দৃষ্টিৰে চালে, ফলাফল ঠিক হ'ব একে।

    প্যাটাৰ্ণ ২ : (?<=\[)(.*?)(?=\])

    অনুগ্ৰহ কৰি মন কৰক যে আমাৰ ধৰা পেলোৱা গোটটো (.*?) এ দুটা বন্ধনীৰ মাজত লিখনীৰ বাবে এটা এলেহুৱা সন্ধান কৰে - প্ৰথম [ ৰ পৰা প্ৰথম ] লৈ । প্ৰশ্ন চিহ্ন (.*) নথকা এটা ধৰা পেলোৱা গোটে এটা লোভী সন্ধান কৰিব আৰু প্ৰথম [ ৰ পৰা শেষ ] লৈকে সকলো ধৰিব।

    A2 ত থকা আৰ্হিটোৰ সৈতে, সূত্ৰটো তেনেকৈয়ে যায় নিম্নলিখিত:

    =AblebitsRegexExtract(A5, $A$2)

    সকলো মিল কেনেকৈ পাব

    ইতিমধ্যে উল্লেখ কৰা অনুসৰি, AblebitsRegexExtract ফাংচনে মাত্ৰ এটা মিল এক্সট্ৰেক্ট কৰিব পাৰে। সকলো মিল পাবলৈ, আপুনি আমি আগতে আলোচনা কৰা VBA ফাংচনটো ব্যৱহাৰ কৰিব পাৰে। কিন্তু এটা সতৰ্কবাণী আছে - VBA RegExp এ গোটসমূহ ধৰি ৰখা সমৰ্থন নকৰে, গতিকে ওপৰৰ আৰ্হিটোৱে "সীমা" আখৰসমূহো ঘূৰাই দিব, আমাৰ ক্ষেত্ৰত বন্ধনীসমূহ।

    =TEXTJOIN(" ", TRUE, RegExpExtract(A5, $A$2))

    মুক্ত হ'বলৈ ব্ৰেকেটসমূহৰ, এই সূত্ৰ ব্যৱহাৰ কৰি খালী ষ্ট্ৰিং ("") ৰ সৈতে সলনি কৰক:

    =SUBSTITUTE(SUBSTITUTE(TEXTJOIN(", ", TRUE, RegExpExtract(A5, $A$2)), "]", ""),"[","")

    উন্নত পঠনযোগ্যতাৰ বাবে, আমি সীমাবদ্ধকৰ বাবে এটা কমা ব্যৱহাৰ কৰিছো।

    দুটা ষ্ট্ৰিঙৰ মাজত লিখনী এক্সট্ৰেক্ট কৰিবলৈ Regex

    আমি কাম কৰা পদ্ধতিইয়াক আক্ষৰিক অৰ্থত ব্যাখ্যা কৰক)।

  • (?:[A-Za-z\d\-\.]{2,255}\.)? - তৃতীয়-স্তৰৰ, চতুৰ্থ-স্তৰৰ, ইত্যাদি ডমেইন চিনাক্ত কৰিবলৈ নন-কেপচাৰিং গোট, যদি আছে (আমাৰ নমুনা URL ত মোবাইল )। প্ৰথম আৰ্হিত, ইয়াক এটা ডাঙৰ কেপচাৰিং গোটৰ ভিতৰত ৰখা হয় যাতে এনে সকলো উপডমেইন নিষ্কাশনত অন্তৰ্ভুক্ত কৰা হয়। এটা উপডমেইন ২ৰ পৰা ২৫৫ আখৰলৈকে দীঘল হ'ব পাৰে, সেয়েহে {2,255} পৰিমাণীকৰণ।
  • ([A-Za-z\d\-]{1,63}\.[A-Za-z] {2,24}) - দ্বিতীয়-স্তৰৰ ডমেইন ( ablebits ) আৰু শীৰ্ষ-স্তৰৰ ডমেইন ( com ) এক্সট্ৰেক্ট কৰিবলৈ গোট ধৰি ৰখা। দ্বিতীয় স্তৰৰ ডমেইনৰ সৰ্বোচ্চ দৈৰ্ঘ্য ৬৩ আখৰ। বৰ্তমান থকা আটাইতকৈ দীঘলীয়া শীৰ্ষ-স্তৰৰ ডমেইনত ২৪টা আখৰ থাকে।
  • A2 ত কোনটো নিয়মীয়া অভিব্যক্তি প্ৰৱেশ কৰা হয় তাৰ ওপৰত নিৰ্ভৰ কৰি, তলৰ সূত্ৰটোৱে বিভিন্ন ফলাফল দিব:

    =AblebitsRegexExtract(A5, $A$2)

    সকলো উপডমেইনৰ সৈতে সম্পূৰ্ণ ডমেইন নাম এক্সট্ৰেক্ট কৰিবলৈ Regex:

    উপডমেইন অবিহনে এটা দ্বিতীয়-স্তৰৰ ডমেইন এক্সট্ৰেক্ট কৰিবলৈ Regex:

    এনেকৈ ৰেগুলাৰ এক্সপ্ৰেচন ব্যৱহাৰ কৰি এক্সেলত টেক্সটৰ কিছু অংশ এক্সট্ৰেক্ট কৰিব পাৰি। মই আপোনাক পঢ়াৰ বাবে ধন্যবাদ জনাইছো আৰু অহা সপ্তাহত আমাৰ ব্লগত আপোনাক লগ পাবলৈ আগ্ৰহী!

    উপলব্ধ ডাউনলোডসমূহ

    Excel Regextract উদাহৰণসমূহ (.xlsm ফাইল)

    আলটিমেট ছুইট পৰীক্ষামূলক সংস্কৰণ (.exe ফাইল)

    \b(০?[০-৯]matches.Count - 1 text_matches(matches_index, 0) = matches.Item(matches_index) পৰৱৰ্তী matches_index RegExpExtract = text_matches অন্যথা RegExpExtract = matches.Item(instance_num - 1) শেষ যদি শেষ যদি ফাংচনৰ পৰা ওলাই যাওক ErrHandl: RegExpExtract = CVErr(xlErrValue) শেষ ফাংচন

    যদি আপোনাৰ VBA ৰ সৈতে কম অভিজ্ঞতা আছে, এটা স্তৰ-দ্বাৰা-স্তৰ ব্যৱহাৰকাৰী সহায়ক সহায়ক বুলি প্ৰমাণিত হ'ব পাৰে: Excel ত VBA ক'ড কেনেকৈ সন্নিবিষ্ট কৰিব।

    টোকা। ফলনে কাম কৰিবলে, আপোনাৰ নথিপত্ৰক এটা মেক্ৰ'-সামৰ্থবান কাৰ্য্যপুস্তিকা (.xlsm) হিচাপে সংৰক্ষণ কৰাটো নিশ্চিত কৰক ।

    RegExpExtract বাক্যবিন্যাস

    RegExpExtract ফাংচনে এটা নিয়মিত এক্সপ্ৰেচনৰ সৈতে মিল থকা মানসমূহৰ বাবে এটা ইনপুট ষ্ট্ৰিং সন্ধান কৰে আৰু এটা বা সকলো মিল এক্সট্ৰেক্ট কৰে।

    ফাংচনৰ নিম্নলিখিত বাক্যবিন্যাস আছে :

    RegExpExtract(টেক্সট, পেটাৰ্ণ, [instance_num], [match_case])

    ক'ত:

    • টেক্সট (প্ৰয়োজনীয়) - সন্ধান কৰিবলৈ লিখনী ষ্ট্ৰিং।
    • প্যাটাৰ্ণ (প্ৰয়োজনীয়) - মিল থকা নিয়মীয়া অভিব্যক্তি। যেতিয়া এটা সূত্ৰত পোনপটীয়াকৈ যোগান ধৰা হয়, আৰ্হিটো দুটা উদ্ধৃতি চিহ্নত আবদ্ধ কৰিব লাগে।
    • Instance_num (ঐচ্ছিক) - এটা ক্ৰমিক নম্বৰ যি কোনটো উদাহৰণ উলিয়াব লাগে তাক সূচায়। যদি বাদ দিয়া হয়, সকলো পোৱা মিল ঘূৰাই দিয়ে (অবিকল্পিত)।
    • Match_case (ঐচ্ছিক) - লিখনী কেছ মিলাব নে আওকাণ কৰিব সংজ্ঞায়িত কৰে। যদি TRUE বা বাদ দিয়া হৈছে (অবিকল্পিত), ডাঙৰ-বৰ-সংবেদনশীল মিল কৰা হয়; যদি FALSE - case-insensitive.

    ফাংচনটোৱে Excel 365, Excel 2021, Excel ৰ সকলো সংস্কৰণতে কাম কৰে2019, Excel 2016, Excel 2013 আৰু Excel 2010.

    RegExpExtract ৰ বিষয়ে আপুনি জানিবলগীয়া ৪টা কথা

    আপোনাৰ Excel ত ফাংচনটো ফলপ্ৰসূভাৱে ব্যৱহাৰ কৰিবলৈ, লক্ষ্য কৰিবলগীয়া কেইটামান গুৰুত্বপূৰ্ণ কথা আছে:

    1. অবিকল্পিতভাৱে, ফাংচনে সকলো পোৱা মিল এই উদাহৰণত দেখুওৱাৰ দৰে ওচৰৰ ঘৰসমূহলৈ ঘূৰাই দিয়ে। এটা নিৰ্দিষ্ট পৰিঘটনা পাবলৈ, instance_num যুক্তিলে এটা সংশ্লিষ্ট সংখ্যা যোগান ধৰক।
    2. অবিকল্পিতভাৱে, ফলন আখৰৰ সংবেদনশীল । ডাঙৰ-বৰ-অসংবেদনশীল মিলৰ বাবে, match_case যুক্তিক FALSE লে সংহতি কৰক। VBA সীমাবদ্ধতাৰ বাবে, কেছ-অসংবেদনশীল কনষ্ট্ৰাক্ট (?i) এ কাম নকৰে।
    3. যদি এটা বৈধ আৰ্হি পোৱা নাযায় , ফাংচনে একো ঘূৰাই নিদিয়ে (খালী ষ্ট্ৰিং)।
    4. যদি পেটাৰ্ণ অবৈধ , এটা #VALUE! আপোনাৰ কাৰ্য্যপত্ৰিকাত এই স্বনিৰ্বাচিত ফলন ব্যৱহাৰ কৰিবলৈ আৰম্ভ কৰাৰ আগতে, আপুনি ই কি কৰিবলৈ সক্ষম সেয়া বুজিব লাগিব, নহয়নে? তলৰ উদাহৰণসমূহে কেইটামান সাধাৰণ ব্যৱহাৰৰ ক্ষেত্ৰ সামৰি লয় আৰু ডাইনামিক এৰে এক্সেল (মাইক্ৰ'ছফ্ট ৩৬৫ আৰু এক্সেল ২০২১) আৰু পৰম্পৰাগত এক্সেল (২০১৯ আৰু পুৰণি সংস্কৰণসমূহ)ত আচৰণ কিয় পৃথক হ'ব পাৰে সেই বিষয়ে ব্যাখ্যা কৰা হৈছে।

    টোকা। আউট ৰেগেক্সৰ উদাহৰণসমূহ ফেয়াৰী সৰল ডাটা ছেটৰ বাবে লিখা হয়। আপোনাৰ প্ৰকৃত কাৰ্য্যপত্ৰিকাত সিহঁতে ত্ৰুটিহীনভাৱে কাম কৰিব বুলি আমি নিশ্চয়তা দিব নোৱাৰো। ৰেগেক্সৰ অভিজ্ঞতা থকাসকলে এই কথাত একমত হ'ব যে নিয়মীয়া অভিব্যক্তি লিখাটো নিখুঁততাৰ এক কেতিয়াও শেষ নহ'বলগীয়া পথ - প্ৰায় সদায় ইয়াৰ এটা উপায় থাকেই অধিক মাৰ্জিত বা বহল পৰিসৰৰ ইনপুট ডাটা নিয়ন্ত্ৰণ কৰিবলৈ সক্ষম।

    ষ্ট্ৰিঙৰ পৰা সংখ্যা উলিয়াবলৈ Regex

    "সৰলৰ পৰা জটিললৈ" শিকোৱাৰ মূল নীতি অনুসৰণ কৰি আমি এটা অতি সাধাৰণ ক্ষেত্ৰৰ পৰা আৰম্ভ কৰিম: ষ্ট্ৰিঙৰ পৰা সংখ্যা উলিয়াব।

    The আপুনি সিদ্ধান্ত লোৱা প্ৰথম কথাটো হ'ল কোনটো সংখ্যা উদ্ধাৰ কৰিব: প্ৰথম, শেষ, নিৰ্দিষ্ট পৰিঘটনা বা সকলো সংখ্যা।

    প্ৰথম সংখ্যা উলিয়াওক

    এইটো regex এ যিমান সহজ। \d ৰ অৰ্থ 0 ৰ পৰা 9 লৈকে যিকোনো সংখ্যা, আৰু + ৰ অৰ্থ এটা বা ততোধিক বাৰ বুলি ধৰি ল'লে, আমাৰ নিয়মীয়া অভিব্যক্তিটোৱে এই ৰূপ লয়:

    Pattern : \d+

    Set instance_num 1 লৈ আৰু আপুনি আকাংক্ষিত ফলাফল পাব:

    =RegExpExtract(A5, "\d+", 1)

    য'ত A5 হৈছে মূল ষ্ট্ৰিং।

    সুবিধাৰ বাবে, আপুনি ইনপুট কৰিব পাৰে এটা পূৰ্বনিৰ্ধাৰিত ঘৰত ($A$2 ) আৰ্হিটো আৰু $ চিহ্নৰ সৈতে ইয়াৰ ঠিকনা লক কৰক:

    =RegExpExtract(A5, $A$2, 1)

    শেষ সংখ্যা পাওক

    এটা ষ্ট্ৰিঙৰ শেষ সংখ্যাটো উলিয়াবলৈ , ইয়াত ব্যৱহাৰ কৰিবলগীয়া আৰ্হিটো আছে:

    আৰ্হি : (\d+)(?!.*\d)

    মানৱ ভাষালৈ অনুবাদ কৰা হৈছে , ইয়াত কোৱা হৈছে: এনে এটা সংখ্যা বিচাৰি উলিয়াওক যিটোৰ পিছত (ক'তো, কেৱল লগে লগে নহয়) আন কোনো সংখ্যাই নহয়। ইয়াক প্ৰকাশ কৰিবলৈ আমি এটা ঋণাত্মক লুকহেড (?!.*\d) ব্যৱহাৰ কৰিছো, যাৰ অৰ্থ হৈছে যে আৰ্হিটোৰ সোঁফালে ইয়াৰ আগত আন কিমান আখৰ নাথাকক কিয়, আন কোনো সংখ্যা (\d) থাকিব নালাগে।

    =RegExpExtract(A5, "(\d+)(?!.*\d)")

    টিপচ্:

    • এটা নিৰ্দিষ্ট পৰিঘটনা পাবলৈ, পেটাৰ্ণ আৰু এটা উপযুক্ত ছিৰিয়েলৰ বাবে \d+ ব্যৱহাৰ কৰক instance_num ৰ বাবে সংখ্যা।
    • সকলো সংখ্যা উলিয়াবলৈ সূত্ৰটো পৰৱৰ্তী উদাহৰণত আলোচনা কৰা হৈছে।

    সকলো মিল উলিয়াবলৈ Regex

    আমাৰ উদাহৰণটো অলপ আগুৱাই নিলে, ধৰি লওক আপুনি এটা ষ্ট্ৰিঙৰ পৰা সকলো সংখ্যা পাব বিচাৰে, কেৱল এটাৰ পৰা নহয়।

    আপুনি মনত পেলোৱাৰ দৰে, নিষ্কাষিত মিলৰ সংখ্যা বৈকল্পিক <1 দ্বাৰা নিয়ন্ত্ৰিত হয়>instance_num যুক্তি। অবিকল্পিত সকলো মিল, গতিকে আপুনি এই প্ৰাচল বাদ দিয়ে:

    =RegExpExtract(A2, "\d+")

    সূত্ৰই এটা ঘৰৰ বাবে সুন্দৰভাৱে কাম কৰে, কিন্তু আচৰণ গতিশীল এৰে এক্সেল আৰু অগতিশীল সংস্কৰণত পৃথক।

    Excel 365 আৰু Excel 2021

    ডাইনেমিক এৰেৰ বাবে সমৰ্থনৰ বাবে, এটা নিয়মীয়া সূত্ৰ স্বয়ংক্ৰিয়ভাৱে সকলো গণনা কৰা ফলাফল প্ৰদৰ্শন কৰিবলৈ প্ৰয়োজন অনুসৰি যিমানবোৰ কোষত ছিটিকি পৰে। এক্সেলৰ ক্ষেত্ৰত ইয়াক স্পিলড ৰেঞ্জ বোলা হয়:

    এক্সেল ২০১৯ আৰু তাৰ তলৰ

    প্ৰি-ডাইনেমিক এক্সেলত ওপৰৰ সূত্ৰটোৱে মাত্ৰ এটা মিল ঘূৰাই দিব। একাধিক মিল পাবলৈ, আপুনি ইয়াক এটা এৰে সূত্ৰ বনাব লাগিব। ইয়াৰ বাবে, কোষৰ এটা পৰিসীমা নিৰ্ব্বাচন কৰক, সূত্ৰটো টাইপ কৰক, আৰু ইয়াক সম্পূৰ্ণ কৰিবলৈ Ctrl + Shift + Enter টিপক।

    এই পদ্ধতিৰ এটা নেতিবাচক দিশ হৈছে "অতিৰিক্ত কোষ"ত উপস্থিত হোৱা #N/A ভুলৰ এটা গোট। . দুখৰ বিষয় যে ইয়াৰ বাবে একো কৰিব নোৱাৰি (IFERROR বা IFNA য়েও ইয়াক ঠিক কৰিব নোৱাৰে, হায়)।

    এটা কোষত সকলো মিল এক্সট্ৰেক্ট কৰক

    তথ্যৰ এটা স্তম্ভ প্ৰক্ৰিয়াকৰণ কৰাৰ সময়ত, ওপৰৰ পদ্ধতিটোৱে স্পষ্টভাৱে কাম নকৰে। এই ক্ষেত্ৰত এটা আদৰ্শ সমাধানএটা কোষত সকলো মিল ঘূৰাই দিব। ইয়াক কৰিবলৈ, RegExpExtract ৰ ফলাফলসমূহ TEXTJOIN ফাংচনলৈ পৰিবেশন কৰক আৰু আপুনি পছন্দ কৰা যিকোনো ডিলিমিটাৰৰ সৈতে সিহতক পৃথক কৰক, এটা কমা আৰু এটা স্থান কওক:

    =TEXTJOIN(", ", TRUE, RegExpExtract(A5, "\d+"))

    টোকা। যিহেতু TEXTJOIN ফাংচন কেৱল Microsoft 365, Excel 2021 আৰু Excel 2019 ৰ বাবে Excel ত উপলব্ধ, সূত্ৰটোৱে পুৰণি সংস্কৰণত কাম নকৰে।

    ষ্ট্ৰিঙৰ পৰা লিখনী উলিয়াবলৈ Regex

    ৰ পৰা লিখনী এক্সট্ৰেক্ট কৰা এক্সেলত এটা আলফানিউমেৰিক ষ্ট্ৰিং যথেষ্ট প্ৰত্যাহ্বানজনক কাম। ৰেগেক্সৰ সহায়ত পাইৰ দৰেই সহজ হৈ পৰে। মাত্ৰ এটা অংক নহয় সকলো বস্তু মিলাবলৈ এটা নেগেটেড ক্লাছ ব্যৱহাৰ কৰক।

    পেটাৰ্ণ : [^\d]+

    ব্যক্তিগত কোষত উপষ্ট্ৰিং পাবলৈ (স্পিল ৰেঞ্জ) , সূত্ৰটো হ'ল:

    =RegExpExtract(A5, "[^\d]+")

    সকলো মিল এটা কোষত আউটপুট কৰিবলে, TEXTJOIN ত RegExpExtract ফাংচনক এইদৰে নেষ্ট কৰক:

    =TEXTJOIN("", TRUE, RegExpExtract(A5, "[^\d]+"))

    Regex to ষ্ট্ৰিঙৰ পৰা ইমেইল ঠিকনা উলিয়াওক

    বহুত ভিন্ন তথ্য থকা ষ্ট্ৰিঙৰ পৰা এটা ইমেইল ঠিকনা উলিয়াবলৈ, এটা নিয়মীয়া এক্সপ্ৰেচন লিখক যি ইমেইল ঠিকনা গঠন প্ৰতিলিপি কৰে।

    প্যাটাৰ্ণ : [\w\.\-]+@[A-Za-z0-9\.\-]+\.[A-Za-z]{2,24}

    এই ৰেগেক্সটো ভাঙি পেলোৱা হৈছে , ইয়াত আমি কি পাওঁ:

    • [\w\.\-]+ এটা ব্যৱহাৰকাৰীৰ নাম যিয়ে 1 বা তাতকৈ অধিক আলফানিউমেৰিক আখৰ, আণ্ডাৰস্কোৰ, বিন্দু আৰু হাইফেন অন্তৰ্ভুক্ত কৰিব পাৰে।
    • @ চিহ্ন
    • [A-Za-z0-9\.\-]+ হৈছে এটা ডমেইন নাম যি ইয়াৰ দ্বাৰা গঠিত: ডাঙৰ আৰু সৰু আখৰ, সংখ্যা, হাইফেন আৰু বিন্দু (ক্ষেত্ৰতউপডমেইনৰ)। ইয়াত আণ্ডাৰস্ক'ৰৰ অনুমতি নাই, সেয়েহে \w ৰ পৰিবৰ্তে ৩টা ভিন্ন আখৰৰ গোট (যেনে A-Z a-z আৰু 0-9) ব্যৱহাৰ কৰা হয় যি যিকোনো আখৰ, সংখ্যা বা আণ্ডাৰস্ক'ৰৰ সৈতে মিল খায়।
    • \.[A-Za-z ]{2,24} এটা শীৰ্ষ-স্তৰৰ ডমেইন। এটা বিন্দুৰ পিছত ডাঙৰ আৰু সৰু আখৰেৰে গঠিত। শীৰ্ষ-স্তৰৰ ডমেইনৰ বেছিভাগেই ৩-আখৰৰ (যেনে .com .org, .edu, ইত্যাদি), কিন্তু তত্ত্বগতভাৱে ইয়াত ২ৰ পৰা ২৪টা আখৰ (সৰ্বাধিক পঞ্জীয়নভুক্ত TLD) থাকিব পাৰে।

    ধৰি লওক ষ্ট্ৰিংটো A5 ত আৰু আৰ্হিটো A2 ত আছে, এটা ইমেইল ঠিকনা এক্সট্ৰেক্ট কৰাৰ সূত্ৰটো হ'ল:

    =RegExpExtract(A5, $A$2)

    ইমেইলৰ পৰা ডমেইন এক্সট্ৰেক্ট কৰিবলৈ Regex

    যেতিয়া ই... ইমেইল ডমেইন এক্সট্ৰেক্ট কৰাৰ কথা আহিলে, প্ৰথম চিন্তাটো মনলৈ আহে @ আখৰৰ তৎক্ষণাত অনুসৰণ কৰা লিখনী বিচাৰিবলৈ এটা কেপচাৰিং গোট ব্যৱহাৰ কৰা।

    Pattern : @([A-Za-z0 -9\.\-]+\.[A-Za-z]{2,24})

    আমাৰ RegExp ফাংচনলৈ ইয়াক সেৱা আগবঢ়াওক:

    =RegExpExtract(A5, "@([A-Za-z0-9\.\-]+\.[A-Za-z]{2,24})")

    আৰু আপুনি এই ফলাফল পাব:

    ক্লাছিক নিয়মীয়া অভিব্যক্তিসমূহৰ সৈতে, এটা কেপচাৰিং গোটৰ বাহিৰৰ যিকোনো বস্তু নিষ্কাশনত অন্তৰ্ভুক্ত কৰা হোৱা নাই। VBA RegEx এ কিয় বেলেগ ধৰণে কাম কৰে আৰু "@"কো ধৰি ৰাখে কোনেও নাজানে। ইয়াৰ পৰা মুক্তি পাবলৈ, আপুনি ফলাফলৰ পৰা প্ৰথম আখৰটো এটা খালী ষ্ট্ৰিংৰে সলনি কৰি আঁতৰাব পাৰে।

    =REPLACE(RegExpExtract(A5, "@([a-z\d][a-z\d\-\.]*\.[a-z]{2,})", 1, FALSE), 1, 1, "")

    ফোন নম্বৰ এক্সট্ৰেক্ট কৰিবলৈ নিয়মীয়া এক্সপ্ৰেচন

    ফোন নম্বৰ বহুতো ভিন্ন ধৰণে লিখিব পাৰি, যাৰ বাবে সকলোৰে অধীনত কাম কৰা সমাধান এটা উলিওৱাটো প্ৰায় অসম্ভৱ(\d{4}from string

    এটা তাৰিখ উলিয়াবলৈ এটা নিয়মীয়া অভিব্যক্তি এটা ষ্ট্ৰিঙৰ ভিতৰত তাৰিখটো যি বিন্যাসত দেখা দিয়ে তাৰ ওপৰত নিৰ্ভৰ কৰে। উদাহৰণস্বৰূপে:

    ১/১/২১ বা ০১/০১/২০২১ৰ দৰে তাৰিখ উলিয়াবলৈ, regex হ'ল: \d{1,2}\/\d{1,2}\/(\d {৪}পৰিস্থিতি. তথাপিও, আপুনি আপোনাৰ ডাটাছেটত ব্যৱহৃত সকলো ফৰ্মেট লিখিব পাৰে আৰু সিহতক মিলাবলৈ চেষ্টা কৰিব পাৰে।

    এই উদাহৰণৰ বাবে, আমি এটা regex সৃষ্টি কৰিম যিয়ে এই ফৰ্মেটসমূহৰ যিকোনো এটাত ফোন নম্বৰসমূহ এক্সট্ৰেক্ট কৰিব:

    <২৮><২৯><৩০><৩১><০> (১২৩) ৩৪৫-৬৭৮৯<৩><০> (১২৩) ৩৪৫ ৬৭৮৯<৩><০> (১২৩)৩৪৫৬৭৮৯<৩><০> ১২৩- ৩৪৫-৬৭৮৯<৩><৩২><৩১><০> ১২৩.৩৪৫.৬৭৮৯<৩><০> ১২৩ ৩৪৫ ৬৭৮৯<৩><০> ১২৩৩৪৫৬৭৮৯<৩><৩২><৩৩><৩৪><৩৫>

    প্যাটাৰ্ণ : \(?\d{3}[-\. \)]*\d{3}[-\. ]?\d{4}\b

    • প্ৰথম অংশ \(?\d{3} শূন্য বা এটা মুকলি বন্ধনীৰ সৈতে মিলে আৰু তাৰ পিছত তিনিটা সংখ্যা d{3}.
    • [-\. \)]* অংশৰ অৰ্থ হ'ল বৰ্গ বন্ধনীৰ যিকোনো আখৰ 0 বা তাতকৈ অধিক বাৰ দেখা দিয়া: হাইফেন, পিৰিয়ড, স্পেচ বা বন্ধ বন্ধনী।
    • তাৰ পিছত, আমাৰ হাতত আকৌ তিনিটা অংক আছে d{3} আৰু তাৰ পিছত যিকোনো হাইফেন, পিৰিয়ড বা স্পেচ [-\. ]? 0 বা 1 বাৰ দেখা দিয়া।
    • তাৰ পিছত চাৰিটা সংখ্যাৰ এটা গোট \d{4}।
    • শেষত, আমি এটা ফোন নম্বৰ বুলি সংজ্ঞায়িত কৰা এটা শব্দৰ সীমা \b আছে বিচৰাটো ডাঙৰ সংখ্যাৰ অংশ হ'ব নোৱাৰে।

    সম্পূৰ্ণ সূত্ৰটোৱে এই আকৃতি লয়:

    =RegExpExtract(A5, "\(?\d{3}[-\. \)]*\d{3}[-\. ]?\d{4}\b")

    অনুগ্ৰহ কৰি সচেতন হওক যে ওপৰৰ regex এ কেইটামান ঘূৰাই দিব পাৰে ভুৱা-ধনাত্মক ফলাফল যেনে 123) 456 7899 বা (123 456 7899. তলৰ সংস্কৰণে এই সমস্যাসমূহ সমাধান কৰে : (\(\d{3}\)দুটা আখৰৰ মাজৰ লিখনী টানি উলিয়াবলৈ out এ দুটা ষ্ট্ৰিঙৰ মাজত লিখনী এক্সট্ৰেক্ট কৰাৰ বাবেও কাম কৰিব।

    উদাহৰণস্বৰূপে, "test 1" আৰু "test 2" ৰ মাজৰ সকলো পাবলৈ, নিম্নলিখিত নিয়মীয়া অভিব্যক্তি ব্যৱহাৰ কৰক।

    প্যাটাৰ্ণ : test 1(.*?)test 2

    সম্পূৰ্ণ সূত্ৰটো হ'ল:

    =AblebitsRegexExtract(A5, "test 1(.*?)test 2")

    URL ৰ পৰা ডমেইন এক্সট্ৰেক্ট কৰিবলৈ Regex

    নিয়মিত এক্সপ্ৰেচনৰ সৈতেও, URL সমূহৰ পৰা ডমেইন নাম উলিওৱাটো কোনো তুচ্ছ কাম নহয়। ট্ৰিকটো কৰা মূল উপাদানটো হ’ল নন-কেপচাৰিং গ্ৰুপ। আপোনাৰ চূড়ান্ত লক্ষ্যৰ ওপৰত নিৰ্ভৰ কৰি, তলৰ ৰেজেক্সসমূহৰ এটা বাছক।

    উপডমেইনসমূহ অন্তৰ্ভুক্ত কৰি এটা সম্পূৰ্ণ ডমেইন নাম পাবলৈ

    প্যাটাৰ্ণ : (?: https?\:

    মাইকেল ব্ৰাউন এজন নিষ্ঠাবান প্ৰযুক্তি অনুৰাগী আৰু তেওঁৰ চফ্টৱেৰ সঁজুলি ব্যৱহাৰ কৰি জটিল প্ৰক্ৰিয়াসমূহ সৰল কৰাৰ প্ৰতি আকৰ্ষণ আছে। টেক উদ্যোগত এক দশকৰো অধিক অভিজ্ঞতাৰে তেওঁ মাইক্ৰ’ছফ্ট এক্সেল আৰু আউটলুকৰ লগতে গুগল শ্বীট আৰু ডক্সত নিজৰ দক্ষতা বৃদ্ধি কৰিছে। মাইকেলৰ ব্লগটোৱে তেওঁৰ জ্ঞান আৰু বিশেষজ্ঞতা আনৰ সৈতে ভাগ-বতৰা কৰাৰ বাবে উৎসৰ্গিত, উৎপাদনশীলতা আৰু দক্ষতা উন্নত কৰাৰ বাবে সহজে অনুসৰণ কৰিব পৰা টিপছ আৰু টিউটৰিয়েল প্ৰদান কৰে। আপুনি এজন অভিজ্ঞ পেছাদাৰী হওক বা এজন নবীন হওক, মাইকেলৰ ব্লগে এই প্ৰয়োজনীয় চফ্টৱেৰ সঁজুলিসমূহৰ পৰা সৰ্বাধিক লাভ কৰিবলৈ মূল্যৱান অন্তৰ্দৃষ্টি আৰু ব্যৱহাৰিক পৰামৰ্শ আগবঢ়ায়।