एक्सेल रेगेक्स: रेगुलर एक्सप्रेशन का उपयोग करके स्ट्रिंग्स का मिलान करें

  • इसे साझा करें
Michael Brown

विषयसूची

इस ट्यूटोरियल में, हम गहराई से देखेंगे कि एक्सेल में स्ट्रिंग्स का मिलान करने के लिए रेगेक्स का उपयोग कैसे करें।

जब आपको किसी श्रेणी में एक निश्चित मान खोजने की आवश्यकता हो सेल के लिए, आप MATCH या XMATCH फ़ंक्शन का उपयोग करेंगे। सेल में एक विशिष्ट स्ट्रिंग की तलाश करते समय, FIND और SEARCH फ़ंक्शन काम में आते हैं। और आपको कैसे पता चलेगा कि किसी सेल में ऐसी जानकारी है जो किसी दिए गए पैटर्न से मेल खाती है? जाहिर है, नियमित अभिव्यक्तियों का उपयोग करके। लेकिन बॉक्स से बाहर एक्सेल रेगेक्स का समर्थन नहीं करता है! कोई चिंता नहीं, हम इसे बाध्य करेंगे :)

    एक्सेल वीबीए रेगेक्स फ़ंक्शन को स्ट्रिंग्स से मिलान करने के लिए

    क्योंकि यह शीर्षक से बहुत स्पष्ट है, ताकि रेगुलर एक्सप्रेशन का उपयोग किया जा सके एक्सेल में, आपको अपना खुद का फंक्शन बनाना होगा। सौभाग्य से, एक्सेल के VBA में एक इनबिल्ट RegExp ऑब्जेक्ट है, जिसे आप नीचे दिखाए गए अपने कोड में उपयोग कर सकते हैं:

    पब्लिक फंक्शन RegExpMatch(input_range As Range, pattern As String ,Optional match_case As Boolean = True) As संस्करण मंद arRes() परिणामों को संग्रहीत करने के लिए संस्करण के रूप में मंद iInputCurRow, iInputCurCol, cntInputRows, cntInputCols As Long 'सूचकांक स्रोत श्रेणी में वर्तमान पंक्ति का, स्रोत श्रेणी में वर्तमान स्तंभ का सूचकांक, पंक्तियों की संख्या, की गिनती त्रुटि पर कॉलम GoTo ErrHandl RegExpMatch = arRes सेट regex = CreateObject ("VBScript.RegExp") regex.pattern = pattern regex.Global = True regex.MultiLine = True यदि True = match_case तो regex.ignorecase = False Else regex.ignorecase = True समाप्तभाव।

    पैटर्न : \b[\w\.\-]+@[A-Za-z0-9]+[A-Za-z0-9\.\- ]*[A-Za-z0-9]+\.[A-Za-z]{2,24}\b

    यहाँ क्या हो रहा है इसे बेहतर ढंग से समझने के लिए, आइए प्रत्येक भाग पर करीब से नज़र डालें :

    • उपयोगकर्ता नाम में अक्षर, संख्याएं, अंडरस्कोर, बिंदु और हाइफ़न शामिल हो सकते हैं। यह ध्यान में रखते हुए कि \w किसी अक्षर, अंक या अंडरस्कोर से मेल खाता है, हमें निम्नलिखित रेगेक्स मिलते हैं: [\w\.\-]+
    • डोमेन नाम में अपरकेस और लोअरकेस अक्षर शामिल हो सकते हैं, अंक, हाइफ़न (लेकिन पहली या अंतिम स्थिति में नहीं) और डॉट्स (उप डोमेन के मामले में)। चूंकि अंडरस्कोर की अनुमति नहीं है, \w के बजाय हम 3 अलग-अलग वर्ण सेट का उपयोग कर रहे हैं: [A-Za-z0-9]+[A-Za-z0-9\.\-]*[A-Za-z0-9 ]+
    • शीर्ष-स्तरीय डोमेन में डॉट के बाद अपरकेस और लोअरकेस अक्षर होते हैं। इसमें 2 से 24 अक्षर (वर्तमान में मौजूद सबसे लंबा TLD) हो सकते हैं: \.[A-Za-z]{2,24}

    नोट। पैटर्न मानता है कि डोमेन नाम में 2 या अधिक अल्फ़ान्यूमेरिक वर्ण हैं।

    A5 में मूल पाठ और A5 में पैटर्न के साथ, सूत्र इस आकार को लेता है:

    =RegExpMatch(A5, $A$2)

    या आप सरल नियमित का उपयोग कर सकते हैं लोअरकेस या अपरकेस वर्ण सेट के साथ ईमेल सत्यापन के लिए अभिव्यक्ति:

    पैटर्न : \b[\w\.\-]+@[a-z0-9]+[a- z0-9\.\-]*[a-z0-9]+\.[a-z]{2,24}\b

    लेकिन अपने फ़ार्मूले को केस-इनसेंसिटिव बनाएं:

    =RegExpMatch(A5, $A$2, FALSE)

    मैच रेगेक्स के साथ एक्सेल आईएफ फॉर्मूला

    इस तथ्य के कारण कि इनबिल्ट और कस्टमकार्य अच्छी तरह से चलते हैं, ऐसा कुछ भी नहीं है जो आपको एक सूत्र में एक साथ उपयोग करने से रोक सके।

    किसी रेगुलर एक्सप्रेशन से मेल खाने पर कुछ वापस करने या उसकी गणना करने के लिए और अगर यह मेल नहीं खाता है तो कुछ और, कस्टम RegExpMatch एम्बेड करें IF:

    IF(RegExpMatch(...), [value_if_true], [value_if_false])

    के तार्किक पाठ में कार्य करता है, उदाहरण के लिए, यदि A5 में एक स्ट्रिंग में एक मान्य ईमेल पता है, तो आप "हां" वापस कर सकते हैं; अन्यथा "नहीं"।

    =IF(RegExpMatch(A5, $A$2,), "Yes", "No")

    यदि रेगेक्स मेल खाता है तो गणना करें

    क्योंकि मूल एक्सेल कार्य नियमित अभिव्यक्ति का समर्थन नहीं करते हैं, यह है सीधे COUNTIS या COUNTIFS फ़ंक्शन में रेगेक्स डालना संभव नहीं है। सौभाग्य से, आप हमारे कस्टम फ़ंक्शन का उपयोग करके इस कार्यक्षमता का अनुकरण कर सकते हैं।

    मान लें कि आपने फ़ोन नंबरों का मिलान करने के लिए रेगेक्स का उपयोग किया है और परिणामों को कॉलम बी में आउटपुट करते हैं। यह पता लगाने के लिए कि कितने सेल में फ़ोन नंबर हैं, आपको बस इसकी आवश्यकता है B5:B9 में TRUE मानों की गणना करने के लिए। और यह मानक COUNTIF सूत्र का उपयोग करके आसानी से किया जा सकता है:

    =COUNTIF(B5:B9, TRUE)

    क्या आप अपनी वर्कशीट में कोई अतिरिक्त कॉलम नहीं चाहते हैं? कोई बात नहीं। यह ध्यान में रखते हुए कि हमारा कस्टम फ़ंक्शन एक समय में कई सेल को प्रोसेस कर सकता है और एक्सेल का एसयूएम एक सरणी में मान जोड़ सकता है, यहां आप क्या करते हैं:

    • RegExpMatch को एक रेंज संदर्भ प्रदान करें, ताकि यह एक TRUE और FALSE मानों की सरणी।
    • तार्किक मानों को उनके लिए बाध्य करने के लिए दोहरे निषेध (--) का उपयोग करें औरशून्य।
    • परिणामी सरणी में 1 और 0 जोड़ने के लिए SUM फ़ंक्शन प्राप्त करें।

    =SUM(--RegExpMatch(A5:A9, $A$2))

    रेगेक्स मिलान अल्टीमेट सूट के साथ

    हमारे अल्टीमेट सूट के उपयोगकर्ता अपनी कार्यपुस्तिकाओं में कोई वीबीए कोड जोड़े बिना चार शक्तिशाली रेगेक्स कार्यों का लाभ उठा सकते हैं क्योंकि वे ऐड-इन इंस्टॉलेशन के दौरान आसानी से एक्सेल में एकीकृत हो जाते हैं। हमारे कस्टम फ़ंक्शंस मानक .NET RegEx इंजन द्वारा संसाधित किए जाते हैं और पूर्ण विशेषताओं वाले क्लासिक रेगुलर एक्सप्रेशन का समर्थन करते हैं।

    कस्टम RegexMatch फ़ंक्शन का उपयोग कैसे करें

    मान लें कि आपके पास अल्टीमेट सूट का नवीनतम संस्करण स्थापित है ( 2021.4 या बाद में), आप दो सरल चरणों में एक रेगेक्स मैच फॉर्मूला बना सकते हैं:

    1. एबलबिट्स डेटा टैब पर, टेक्स्ट समूह में, क्लिक करें Regex Tools

  • Regex Tools फलक पर, निम्न कार्य करें:
    • चयन करें स्रोत स्ट्रिंग्स।
    • अपना पैटर्न दर्ज करें।
    • मिलान विकल्प चुनें।
    • परिणामों को मानों के बजाय सूत्रों के रूप में रखने के लिए 8>सूत्र के रूप में डालें चेक बॉक्स।
    • मिलान बटन पर क्लिक करें।

    एक क्षण बाद, AblebitsRegexMatch फ़ंक्शन आपके डेटा के दाईं ओर एक नए कॉलम में डाला जाता है।

    नीचे स्क्रीनशॉट में, फ़ंक्शन यह जांचता है कि कॉलम A में स्ट्रिंग्स में 7-अंक हैं या नहीं नंबर या नहीं।

    टिप्स:

    • फंक tion को डाल दिया जा सकता है सीधे एक सेल में मानक इन्सर्ट फंक्शन संवाद बॉक्स के माध्यम से, जहां इसे AblebitsUDFs के तहत वर्गीकृत किया गया है।
    • डिफ़ॉल्ट रूप से, एक रेगुलर एक्सप्रेशन सूत्र में जोड़ा जाता है, लेकिन आप इसे इसे एक अलग सेल में। इसके लिए, बस दूसरे तर्क के लिए एक सेल संदर्भ का उपयोग करें।
    • डिफ़ॉल्ट रूप से, फ़ंक्शन केस-संवेदी है। केस-संवेदी मिलान के लिए, (?i) पैटर्न का उपयोग करें।

    अधिक जानकारी के लिए, कृपया AblebitsRegexMatch फ़ंक्शन देखें।

    Excel में रेगुलर एक्सप्रेशन मिलान करने का तरीका यही है। मैं आपको पढ़ने के लिए धन्यवाद देता हूं और अगले सप्ताह आपको हमारे ब्लॉग पर देखने के लिए उत्सुक हूं!

    उपलब्ध डाउनलोड

    एक्सेल रेगेक्स मैच उदाहरण (.xlsm फ़ाइल)

    अल्टीमेट सुइट 14- दिन पूरी तरह कार्यात्मक संस्करण (.exe फ़ाइल)

    अगर cntInputRows = input_range.Rows.Count cntInputCols = input_range.Columns.Count ReDim arRes(1 to cntInputRows, 1 To cntInputCols) for iInputCurRow = 1 to cntInputRows for iInputCurCol = 1 To cntInputCols arRes(iInputCurRow, iInputCurCol) =_.Test(input regex) .Cells(iInputCurRow, iInputCurCol).Value) अगला अगला RegExpMatch = arRes Exit Function ErrHandl: RegExpMatch = CVERr(xlErrValue) End Function

    VBA एडिटर में कोड पेस्ट करें, और आपका नया RegExpMatch फ़ंक्शन है उपयोग के लिए तैयार। यदि आप VBA के साथ बहुत अनुभवी नहीं हैं, तो यह मार्गदर्शिका सहायक हो सकती है: Excel में VBA कोड कैसे सम्मिलित करें।

    ध्यान दें। कोड डालने के बाद, अपनी फ़ाइल को मैक्रो-सक्षम कार्यपुस्तिका (.xlsm) के रूप में सहेजना याद रखें।

    RegExpMatch सिंटैक्स

    RegExpMatch फ़ंक्शन यह जाँचता है कि स्रोत स्ट्रिंग का कोई भाग रेगुलर एक्सप्रेशन से मेल खाता है या नहीं। परिणाम एक बूलियन मान है: यदि कम से कम एक मिलान मिलता है तो TRUE, अन्यथा FALSE।

    हमारे कस्टम फ़ंक्शन में 3 तर्क हैं - पहले दो आवश्यक हैं और अंतिम एक वैकल्पिक है:

    RegExpMatch(text , पैटर्न, [मैच_केस])

    कहां:

    • टेक्स्ट (आवश्यक) - खोजने के लिए एक या अधिक स्ट्रिंग्स। सेल या रेंज संदर्भ के रूप में आपूर्ति की जा सकती है।
    • पैटर्न (आवश्यक) - मिलान करने के लिए नियमित अभिव्यक्ति। जब किसी सूत्र में सीधे रखा जाता है, तो पैटर्न को दोहरे उद्धरण चिह्नों में संलग्न किया जाना चाहिए।
    • Match_case (वैकल्पिक) - मिलान को परिभाषित करता हैप्रकार। यदि TRUE या छोड़ा गया (डिफ़ॉल्ट), केस-संवेदी मिलान किया जाता है; अगर FALSE - केस-असंवेदी।

    फ़ंक्शन Excel 365, Excel 2021, Excel 2019, Excel 2016, Excel 2013 और Excel 2010 के सभी संस्करणों में काम करता है।

    3 चीज़ें जो आप RegExpMatch के बारे में पता होना चाहिए

    इससे पहले कि हम व्यावहारिक गणना करें, कृपया निम्नलिखित बिंदुओं पर ध्यान दें जो कुछ तकनीकीताओं को स्पष्ट करते हैं:

    1. फ़ंक्शन एकल सेल<9 को प्रोसेस कर सकता है> या सेल की रेंज । बाद वाले मामले में, परिणाम पड़ोसी कोशिकाओं में एक गतिशील सरणी, या स्पिल रेंज के रूप में लौटाए जाते हैं, जैसा कि इस उदाहरण में दिखाया गया है।
    2. डिफ़ॉल्ट रूप से, फ़ंक्शन केस-संवेदी . टेक्स्ट केस को नज़रअंदाज़ करने के लिए, match_case तर्क को FALSE पर सेट करें। VBA Regexp सीमाओं के कारण, केस-संवेदी पैटर्न (?i) समर्थित नहीं है।
    3. यदि कोई मान्य प्रतिमान नहीं मिलता है, तो फ़ंक्शन FALSE लौटाता है; अगर पैटर्न अमान्य है , तो एक #VALUE! त्रुटि होती है।

    नीचे, आपको कुछ रेगेक्स मिलान उदाहरण मिलेंगे जो प्रदर्शन उद्देश्यों के लिए बनाए गए थे। हम इस बात की गारंटी नहीं दे सकते हैं कि हमारे पैटर्न आपके वास्तविक वर्कशीट में इनपुट डेटा की व्यापक श्रेणी के साथ त्रुटिहीन रूप से काम करेंगे। उत्पादन शुरू करने से पहले, अपनी आवश्यकताओं के अनुसार हमारे नमूने पैटर्न का परीक्षण और समायोजन करना सुनिश्चित करें।

    Excel में स्ट्रिंग्स का मिलान करने के लिए रेगेक्स का उपयोग कैसे करें

    जब आप सभी स्ट्रिंग्स का मिलान करना चाहते हैं समान प्रतिमान,रेगुलर एक्सप्रेशन एक आदर्श समाधान है।

    मान लें कि आपके पास सेल की एक श्रृंखला (A5:A9) है जिसमें कुछ आइटम के बारे में विभिन्न विवरण हैं। आप जानना चाहते हैं कि किन सेल में SKU हैं। यह मानते हुए कि प्रत्येक SKU में 2 बड़े अक्षर, एक हाइफ़न और 3 अंक होते हैं, आप निम्न अभिव्यक्ति का उपयोग करके उनका मिलान कर सकते हैं।

    पैटर्न : \b[A-Z]{2}-\ d{3}\b

    जहाँ [A-Z]{2} का अर्थ A से Z तक कोई भी 2 अपरकेस अक्षर और \d{3} का अर्थ 0 से 9 तक कोई 3 अंक है। \b वर्ण एक शब्द को दर्शाता है सीमा, जिसका अर्थ है कि एक SKU एक अलग शब्द है, और 23-MAR-2022 जैसे बड़े स्ट्रिंग का हिस्सा नहीं है।

    स्थापित पैटर्न के साथ, हम एक सूत्र लिखने के लिए आगे बढ़ सकते हैं। अनिवार्य रूप से, एक कस्टम फ़ंक्शन का उपयोग करना मूल से अलग नहीं है। जैसे ही आप सूत्र टाइप करना शुरू करते हैं, फ़ंक्शन का नाम एक्सेल के AutoComplete द्वारा सुझाई गई सूची में दिखाई देगा। हालाँकि, डायनेमिक ऐरे एक्सेल (Microsoft 365 और Excel 2021) और पारंपरिक एक्सेल (2019 और पुराने संस्करण) में कुछ बारीकियाँ हैं।

    एक सेल में स्ट्रिंग का मिलान करें

    एक स्ट्रिंग का मिलान करने के लिए एक सेल में, उस सेल को पहले तर्क में देखें। माना जाता है कि दूसरे तर्क में एक रेगुलर एक्सप्रेशन शामिल है।

    =RegExpMatch(A5, "\b[A-Z]{2}-\d{3}\b")

    पैटर्न को एक पूर्वनिर्धारित सेल में भी रखा जा सकता है, जो एक पूर्ण संदर्भ ($A$2) के साथ बंद है:

    =RegExpMatch(A5, $A$2)

    पहले सेल में सूत्र दर्ज करने के बाद, आप इसे अन्य सभी पंक्तियों तक नीचे खींच सकते हैं।

    यह विधि सभी एक्सेल संस्करण में खूबसूरती से काम करता है। पहले तर्क में एक श्रेणी संदर्भ शामिल करें:

    =RegExpMatch(A5:A9, "\b[A-Z]{2}-\d{3}\b")

    Excel 365 और Excel 2021 में जो गतिशील सरणियों का समर्थन करता है, यह इस तरह काम करता है - आप पहले सेल में फॉर्मूला टाइप करते हैं, एंटर दबाएं, और फॉर्मूला स्वचालित रूप से नीचे की कोशिकाओं में फैल जाता है।

    एक्सेल 2019 और इससे पहले, यह केवल एक पारंपरिक CSE सरणी सूत्र के रूप में काम करता है, जिसे कक्षों की एक श्रेणी में दर्ज किया जाता है और Ctrl + Shift + Enter कुंजियों को एक साथ दबाकर पूरा किया जाता है।

    संख्या से मिलान करने के लिए Regex

    0 से 9 तक किसी एक अंक का मिलान करने के लिए, रेगेक्स में \d वर्ण का उपयोग करें। अपने विशेष कार्य के आधार पर, एक उपयुक्त क्वांटिफायर जोड़ें या एक अधिक जटिल पैटर्न बनाएं। d वर्ण, जो 1 या अधिक अंकों वाली संख्याओं को देखने के लिए कहता है।

    पैटर्न : \d+

    =RegExpMatch(A5:A9, "\d+")

    विशिष्ट लंबाई की संख्या से मिलान करने के लिए रेगेक्स

    यदि आपका लक्ष्य अंकों की एक निश्चित संख्या वाले संख्यात्मक मानों से मेल खाना है, तो एक उपयुक्त परिमाणक के साथ \d का उपयोग करें।

    उदाहरण के लिए, ठीक 7 अंकों वाली चालान संख्याओं का मिलान करने के लिए, आपको \d{7} का उपयोग करना होगा। हालांकि, कृपया ध्यान रखें कि यह 7 से मेल खाएगाअपेक्षानुसार:

    टिप्पणियाँ:

    • अंतर्राष्ट्रीय कोड की जाँच नहीं की जाती है, इसलिए वे मौजूद हो भी सकते हैं और नहीं भी।
    • रेगुलर एक्सप्रेशन में, \s का मतलब स्पेस, टैब, कैरेज रिटर्न या नई लाइन जैसे किसी भी व्हॉट्सएप कैरेक्टर से है। केवल रिक्त स्थान की अनुमति देने के लिए, [-\. ] [-\.\s] के बजाय।
    • रेगेक्स वर्ण से मेल नहीं खाता

      ऐसे तार खोजने के लिए जिनमें एक निश्चित वर्ण नहीं है, आप नकारात्मक वर्ण वर्ग [^ ] का उपयोग कर सकते हैं जो मेल खाता है कोष्ठक में कुछ भी नहीं। उदाहरण के लिए:

      • [^13] ऐसे किसी एक वर्ण से मेल खाएगा जो 1 या 3 नहीं है।
      • [^1-3] ऐसे किसी एक वर्ण से मेल खाएगा जो 1 नहीं है, 2 या 3 (अर्थात 1 से 3 तक कोई भी अंक)।

      फोन नंबरों की सूची में, मान लीजिए कि आप उन नंबरों को ढूंढना चाहते हैं जिनमें देश कोड नहीं है। यह ध्यान में रखते हुए कि किसी भी अंतरराष्ट्रीय कोड में + चिह्न शामिल है, आप स्ट्रिंग्स को खोजने के लिए [^\+] वर्ण वर्ग का उपयोग कर सकते हैं जिसमें धन चिह्न नहीं है। यह महसूस करना महत्वपूर्ण है कि उपरोक्त अभिव्यक्ति किसी भी एकल वर्ण से मेल खाती है जो + नहीं है। क्योंकि एक फोन नंबर एक स्ट्रिंग में कहीं भी हो सकता है, जरूरी नहीं कि शुरुआत में ही, प्रत्येक बाद के चरित्र की जांच के लिए क्वांटिफायर जोड़ा जाता है। प्रारंभ ^ और अंत $ एंकर सुनिश्चित करते हैं कि संपूर्ण स्ट्रिंग संसाधित हो गई है। नतीजतन, हमें नीचे दी गई नियमित अभिव्यक्ति मिलती है जो कहती है "स्ट्रिंग में किसी भी स्थिति में + वर्ण से मेल नहीं खाता"।

      पैटर्न :^[^\+]*$

      =RegExpMatch(A5, "^[^\+]*$")

      स्ट्रिंग से मेल नहीं खाने के लिए Regex

      हालांकि इसके लिए कोई विशेष रेगुलर एक्सप्रेशन सिंटैक्स नहीं है एक विशिष्ट स्ट्रिंग से मेल नहीं खाते हैं, तो आप एक नकारात्मक अग्रदर्शी का उपयोग करके इस व्यवहार का अनुकरण कर सकते हैं।

      मान लें कि आप ऐसी स्ट्रिंग्स को ढूंढना चाहते हैं जिनमें "नींबू" शब्द नहीं है । यह नियमित अभिव्यक्ति एक इलाज का काम करेगी:

      पैटर्न : ^((?!नींबू)।)*$

      जाहिर है, यहां कुछ स्पष्टीकरण की आवश्यकता है। नकारात्मक अग्रदर्शी (?!नींबू) यह देखने के लिए दाईं ओर देखता है कि क्या आगे कोई शब्द "नींबू" नहीं है। यदि "नींबू" नहीं है, तो डॉट लाइन ब्रेक को छोड़कर किसी भी वर्ण से मेल खाता है। उपरोक्त अभिव्यक्ति केवल एक जांच करती है, और * क्वांटिफ़ायर ^ द्वारा एंकर की गई स्ट्रिंग की शुरुआत से लेकर $ द्वारा एंकर की गई स्ट्रिंग के अंत तक इसे शून्य या अधिक बार दोहराता है।

      टेक्स्ट केस को अनदेखा करने के लिए, हम अपने कार्य को केस-संवेदी बनाने के लिए तीसरे तर्क को FALSE पर सेट करते हैं:

      =RegExpMatch(A5, $A$2, FALSE)

      युक्तियाँ और नोट:

      • उपरोक्त रेगेक्स केवल सिंगल-लाइन स्ट्रिंग्स के लिए काम करता है। मिल्टी-लाइन स्ट्रिंग्स के मामले में, ^ और $ वर्ण इनपुट स्ट्रिंग की शुरुआत और अंत के बजाय प्रत्येक पंक्ति की शुरुआत और अंत से मेल खाते हैं, इसलिए रेगेक्स केवल पहली पंक्ति में खोज करता है।
      • उन स्ट्रिंग्स का मिलान करने के लिए जो प्रारंभ नहीं होतीं कुछ पाठ के साथ , रेगुलर एक्सप्रेशन जैसे ^(?!नींबू).*$
      • का उपयोग करें उन स्ट्रिंग्स का मिलान करने के लिए जो अंत नहीं कुछ पाठ के साथ शामिल हैंखोज पैटर्न में अंतिम स्ट्रिंग एंकर: ^((?!नींबू$).)*$

      केस असंवेदनशील मिलान

      क्लासिक रेगुलर एक्सप्रेशन में, इसके लिए एक विशेष पैटर्न होता है केस-असंवेदनशील मिलान (?i), जो VBA RegExp में समर्थित नहीं है। इस सीमा को पार करने के लिए, हमारा कस्टम फ़ंक्शन match_case नाम के तीसरे वैकल्पिक तर्क को स्वीकार करता है। केस-संवेदी मिलान करने के लिए, बस इसे FALSE पर सेट करें।

      मान लें कि आप 1-मार्च-22 या 01-मार्च-2022 जैसी तिथियों की पहचान करना चाहते हैं। dd-mmm-yyyy और d-mmm-yy प्रारूपों का मिलान करने के लिए, हम निम्नलिखित रेगुलर एक्सप्रेशन का उपयोग कर रहे हैं।

      पैटर्न : \b\d{1,2}-(जनवरी10 अंकों या 100 अंकों की संख्या सहित स्ट्रिंग में कहीं भी अंक। यदि यह वह नहीं है जिसे आप ढूंढ रहे हैं, तो शब्द सीमा \b को दोनों ओर रखें।

      पैटर्न : \b\d{7}\b

      =RegExpMatch(A5:A9, "\b\d{7}\b")

      फ़ोन नंबरों का मिलान करने के लिए Regex

      चूंकि फ़ोन नंबरों को विभिन्न स्वरूपों में लिखा जा सकता है, इसलिए उनका मिलान करने के लिए अधिक परिष्कृत रेगुलर एक्सप्रेशन की आवश्यकता होती है।

      नीचे दिए गए डेटासेट में, हम 10-अंकीय संख्याओं की खोज करेंगे जिनमें पहले 2 समूहों में 3 अंक और अंतिम समूह में 4 अंक होंगे। समूहों को एक अवधि, हाइफ़न या स्थान से अलग किया जा सकता है। पहला समूह कोष्ठक में बंद हो भी सकता है और नहीं भी।

      पैटर्न: (\(\d{3}\)

    माइकल ब्राउन सॉफ्टवेयर टूल्स का उपयोग करके जटिल प्रक्रियाओं को सरल बनाने के जुनून के साथ एक समर्पित प्रौद्योगिकी उत्साही है। टेक उद्योग में एक दशक से अधिक के अनुभव के साथ, उन्होंने माइक्रोसॉफ्ट एक्सेल और आउटलुक के साथ-साथ गूगल शीट्स और डॉक्स में अपने कौशल को निखारा है। माइकल का ब्लॉग अपने ज्ञान और विशेषज्ञता को दूसरों के साथ साझा करने के लिए समर्पित है, उत्पादकता और दक्षता में सुधार के लिए आसान-से-अनुसरण युक्तियाँ और ट्यूटोरियल प्रदान करता है। चाहे आप एक अनुभवी पेशेवर हों या नौसिखिए, माइकल का ब्लॉग इन आवश्यक सॉफ़्टवेयर उपकरणों से अधिकाधिक लाभ उठाने के लिए मूल्यवान अंतर्दृष्टि और व्यावहारिक सलाह प्रदान करता है।