सामग्री तालिका
कहिल्यै बुझ्न सक्नुहुन्न किन नियमित अभिव्यक्तिहरू एक्सेल सूत्रहरूमा समर्थित छैनन्? अब, तिनीहरू हुन् :) हाम्रो अनुकूलन प्रकार्यहरूसँग, तपाइँ सजिलैसँग एक विशेष ढाँचासँग मिल्ने स्ट्रिङहरू फेला पार्न, प्रतिस्थापन गर्न, निकाल्न र हटाउन सक्नुहुन्छ।
पहिलो नजरमा, Excel मा तपाइँलाई पाठ स्ट्रिङको लागि आवश्यक पर्ने सबै कुराहरू छन्। हेरफेर। हम्म... नियमित अभिव्यक्तिको बारेमा के हो? हत्तेरिका, Excel मा कुनै बिल्ट-इन Regex प्रकार्यहरू छैनन्। तर कसैले पनि हामी आफैंले सिर्जना गर्न सक्दैनौं भन्छन् :)
रेगुलर एक्सप्रेशन भनेको के हो?
रेगुलर एक्सप्रेशन (उर्फ regex वा >regexp ) खोज ढाँचा परिभाषित गर्ने वर्णहरूको विशेष रूपमा सङ्केत गरिएको अनुक्रम हो। त्यो ढाँचा प्रयोग गरेर, तपाईंले स्ट्रिङमा मिल्दो क्यारेक्टर संयोजन फेला पार्न सक्नुहुन्छ वा डाटा इनपुट मान्य गर्न सक्नुहुन्छ। यदि तपाइँ वाइल्डकार्ड नोटेशनसँग परिचित हुनुहुन्छ भने, तपाइँ वाइल्डकार्डहरूको उन्नत संस्करणको रूपमा regexes को रूपमा सोच्न सक्नुहुन्छ।
नियमित अभिव्यक्तिहरूको आफ्नै सिन्ट्याक्स हुन्छ जसमा विशेष क्यारेक्टरहरू, अपरेटरहरू र निर्माणहरू समावेश हुन्छन्। उदाहरणका लागि, [०-५] ० देखि ५ सम्मको कुनै एक अंकसँग मेल खान्छ।
जाभास्क्रिप्ट र VBA लगायत धेरै प्रोग्रामिङ भाषाहरूमा नियमित अभिव्यक्तिहरू प्रयोग गरिन्छ। पछिल्लोसँग एउटा विशेष RegExp वस्तु छ, जुन हामीले हाम्रो अनुकूलन प्रकार्यहरू सिर्जना गर्न प्रयोग गर्नेछौं।
के एक्सेलले regex लाई समर्थन गर्छ?
दु:खको कुरा, त्यहाँ Excel मा कुनै इनबिल्ट Regex प्रकार्यहरू छैनन्। तपाईंको सूत्रहरूमा नियमित अभिव्यक्तिहरू प्रयोग गर्न सक्षम हुन, तपाईंले आफ्नै प्रयोगकर्ता-परिभाषित प्रकार्य (VBA) सिर्जना गर्नुपर्नेछ।arguments:
=IF(RegExpMatch(A5, $A$2), "Yes", "No")
थप सूत्र उदाहरणहरूको लागि, कृपया हेर्नुहोस्:
- रेगुलर एक्सप्रेशन प्रयोग गरेर स्ट्रिङहरू कसरी मिलाउने<25
- Regexes संग एक्सेल डाटा प्रमाणीकरण
Excel Regex Extract function
The RegExpExtract प्रकार्यले रेगुलर एक्सप्रेशनसँग मेल खाने सबस्ट्रिङहरू खोज्छ र सबै मेलहरू निकाल्छ वा विशिष्ट मिलान।
RegExpExtract(text, pattern, [instance_num], [match_case])कहाँ:
- Text (आवश्यक) - खोजी गर्नको लागि पाठ स्ट्रिङ in.
- ढाँचा (आवश्यक) - मिलाउनको लागि नियमित अभिव्यक्ति।
- Instance_num (वैकल्पिक) - एउटा क्रम संख्या जसले कुन उदाहरणलाई संकेत गर्छ निकाल्नुहोस्। यदि हटाइयो भने, फेला परेका सबै मिल्दोहरू (पूर्वनिर्धारित) फर्काउँछ।
- Match_case (वैकल्पिक) - मिल्ने (TRUE वा छोडिएको) वा बेवास्ता (FALSE) पाठ केस परिभाषित गर्दछ। <5
- Text (आवश्यक) - खोज्नको लागि पाठ स्ट्रिङ।
- ढाँचा (आवश्यक) - मिलाउनको लागि नियमित अभिव्यक्ति।
- प्रतिस्थापन (आवश्यक) - मिल्दो सबस्ट्रिङहरू प्रतिस्थापन गर्न पाठ।
- Instance_num (वैकल्पिक) - प्रतिस्थापन गर्ने उदाहरण। पूर्वनिर्धारित "सबै मेलहरू" हो।
- Match_case (वैकल्पिक) - मिल्ने (TRUE वा छाडिएको) वा बेवास्ता (FALSE) पाठ केस नियन्त्रण गर्छ।
- रेजेक्स प्रयोग गरेर एक्सेलमा स्ट्रिङहरू कसरी बदल्ने
- रेजेक्स प्रयोग गरेर कसरी स्ट्रिङहरू हटाउने
- रेजेक्स प्रयोग गरेर ह्वाइटस्पेस कसरी हटाउने
- तपाईँले सामान्य .xlsx कार्यपुस्तिकाहरूमा कुनै पनि VBA कोड थप्न र म्याक्रो-सक्षम फाइलहरूको रूपमा बचत नगरीकन नियमित अभिव्यक्तिहरू प्रयोग गर्न सक्नुहुन्छ।
- .NET Regex इन्जिनले पूर्ण विशेषतायुक्त क्लासिकलाई समर्थन गर्दछरेगुलर एक्सप्रेशनहरू, जसले तपाईंलाई थप परिष्कृत ढाँचाहरू निर्माण गर्न दिन्छ।
- Ablebits Data ट्याबमा, Text समूहमा, Regex Tools मा क्लिक गर्नुहोस्।
- Regex Tools फलकमा, निम्न गर्नुहोस्:
- स्रोत डेटा चयन गर्नुहोस्।
- आफ्नो regex ढाँचा प्रविष्ट गर्नुहोस्।
- इच्छित विकल्प छनौट गर्नुहोस्: मिलाउनुहोस् , Extract , हटाउनुहोस् वा बदल्नुहोस् ।
- को रूपमा परिणाम प्राप्त गर्न सूत्र र मान होइन, सूत्रको रूपमा घुसाउनुहोस् चेक बाकस चयन गर्नुहोस्।
- कार्य बटन थिच्नुहोस्।
उदाहरणका लागि, कक्षहरूबाट क्रेडिट कार्ड नम्बरहरू हटाउनका लागि। A2:A6, हामी यी सेटिङहरू कन्फिगर गर्छौं:
- सूत्र पट्टीमा fx बटन क्लिक गर्नुहोस् वा सूत्रहरू ट्याबमा प्रकार्य घुसाउनुहोस् ।
- प्रकार्य घुसाउनुहोस् संवाद बक्समा, AblebitsUDFs चयन गर्नुहोस्।श्रेणी, रुचि को प्रकार्य छनोट गर्नुहोस्, र ठीक क्लिक गर्नुहोस्।
- तपाईले सामान्यतया गर्नुहुन्छ जस्तै प्रकार्यको तर्क परिभाषित गर्नुहोस् र ठीक क्लिक गर्नुहोस्। सकियो!
- ढाँचा - हो ढाँचा इनपुट स्ट्रिङमा मिलाउनको लागि।
- ग्लोबल - इनपुट स्ट्रिङमा सबै मिल्दोहरू फेला पार्ने वा केवल पहिलो एकलाई नियन्त्रण गर्छ। हाम्रा प्रकार्यहरूमा, सबै मिल्दोहरू प्राप्त गर्न यसलाई True मा सेट गरिएको छ।
- MultiLine - बहु-लाइन स्ट्रिङहरूमा रेखा विच्छेदहरूमा ढाँचा मिलाउने वा केवल निर्धारण गर्दछ। पहिलो लाइन मा। हाम्रो कोडहरूमा, यसलाई हरेक लाइनमा खोज्नको लागि True मा सेट गरिएको छ।
- IgnoreCase - रेगुलर एक्स्प्रेसन केस-सेन्सेटिभ (पूर्वनिर्धारित) हो वा केस- असंवेदनशील (सत्य मा सेट)। हाम्रो केसमा, त्यो तपाईले वैकल्पिक match_case प्यारामिटर कसरी कन्फिगर गर्नुहुन्छ भन्ने कुरामा निर्भर गर्दछ। पूर्वनिर्धारित रूपमा, सबै प्रकार्यहरू केस-संवेदनशील हुन्।
- पाठ (आवश्यक) - खोज्नको लागि एक वा बढी स्ट्रिङहरू।
- ढाँचा ( आवश्यक) - नियमितमिलान गर्न अभिव्यक्ति।
- Match_case (वैकल्पिक) - मिलान प्रकार। TRUE वा छोडिएको - केस-संवेदनशील; FALSE - केस-संवेदनशील
तपाईँले यहाँ प्रकार्यको कोड प्राप्त गर्न सक्नुहुन्छ।
उदाहरण: रेगुलर एक्सप्रेशन प्रयोग गरेर स्ट्रिङहरू कसरी निकाल्ने
हाम्रो उदाहरणलाई थोरै अगाडि लिएर, इनभ्वाइस नम्बरहरू निकालौं। यसका लागि, हामी कुनै पनि ७-अङ्कको नम्बरसँग मेल खाने एकदमै सरल रेगेक्स प्रयोग गर्नेछौं:
ढाँचा : \b\d{7}\b
पुट A2 मा ढाँचा र तपाईंले यो कम्प्याक्ट र सुरुचिपूर्ण सूत्रको साथ काम गर्नुहुनेछ:
=RegExpExtract(A5, $A$2)
यदि ढाँचा मेल खान्छ भने, सूत्रले इनभ्वाइस नम्बर निकाल्छ, यदि कुनै मेल फेला परेन भने - केहि पनि फिर्ता गरिएको छैन।
थप उदाहरणहरूको लागि, कृपया हेर्नुहोस्: एक्सेलमा स्ट्रिङहरू कसरी निकाल्नेregex प्रयोग गर्दै।
Excel Regex Replace function
RegExpReplace प्रकार्यले तपाईँले निर्दिष्ट गर्नुभएको पाठसँग regex सँग मिल्ने मानहरूलाई प्रतिस्थापन गर्दछ।
RegExpReplace(पाठ, ढाँचा, प्रतिस्थापन , [instance_num], [match_case])कहाँ:
प्रकार्यको कोड यहाँ उपलब्ध छ।
उदाहरण: regexes प्रयोग गरेर स्ट्रिङहरू कसरी बदल्ने वा हटाउने
हाम्रा केही रेकर्डहरूमा क्रेडिट कार्ड नम्बरहरू छन्। यो जानकारी गोप्य छ, र तपाइँ यसलाई केहि संग प्रतिस्थापन गर्न वा पूरै मेटाउन चाहनुहुन्छ। दुबै कार्यहरू RegExpReplace प्रकार्यको मद्दतले पूरा गर्न सकिन्छ। कसरी? दोस्रो परिदृश्यमा, हामी एउटा खाली स्ट्रिङको साथ प्रतिस्थापन गर्नेछौं।
हाम्रो नमूना तालिकामा, सबै कार्ड नम्बरहरूमा १६ अंकहरू छन्, जुन खाली ठाउँहरूसँग छुट्टिएका ४ समूहहरूमा लेखिएका छन्। तिनीहरूलाई फेला पार्न, हामी यो नियमित अभिव्यक्ति प्रयोग गरेर ढाँचालाई नक्कल गर्छौं:
ढाँचा : \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), सूत्र समान रूपमा राम्रोसँग काम गर्दछ:
Excel मा, "हटाउनु" "बदल्ने" को एक विशेष मामला हो। क्रेडिट कार्ड नम्बरहरू हटाउन , प्रतिस्थापन तर्कको लागि खाली स्ट्रिङ ("") प्रयोग गर्नुहोस्:
=RegExpReplace(A5, "\b\d{4} \d{4} \d{4} \d{4}\b", "")
टिप। नतिजाहरूमा खाली लाइनहरूको रिग प्राप्त गर्न, तपाईंले यो उदाहरणमा देखाइए अनुसार अर्को RegExpReplace प्रकार्य प्रयोग गर्न सक्नुहुन्छ: regex प्रयोग गरेर खाली लाइनहरू कसरी हटाउने।
थप जानकारीको लागि, कृपया हेर्नुहोस्:
रेजेक्स उपकरणहरू मिलाउन, निकाल्न , बदल्नुहोस् र सबस्ट्रिंगहरू हटाउनुहोस्
हाम्रो अल्टिमेट सुइटका प्रयोगकर्ताहरूले तिनीहरूको कार्यपुस्तिकामा कोडको एक पङ्क्ति सम्मिलित नगरीकन नियमित अभिव्यक्तिको सबै शक्ति प्राप्त गर्न सक्छन्। सबै आवश्यक कोडहरू हाम्रा विकासकर्ताहरूद्वारा लेखिएका हुन्छन् र स्थापनाको क्रममा तपाईंको एक्सेलमा सहज रूपमा एकीकृत हुन्छन्।
माथि छलफल गरिएका VBA प्रकार्यहरू विपरीत, अल्टिमेट सुइटका कार्यहरू .NET आधारित छन्, जसले दुई मुख्य फाइदाहरू दिन्छ:
एक्सेलमा Regex कसरी प्रयोग गर्ने
अल्टिमेट सूट स्थापना भएकोमा, एक्सेलमा नियमित अभिव्यक्तिहरू प्रयोग गर्ने यी दुई चरणहरू जस्तै सरल छ। :
ट्राइसमा, तपाईंको मूलको दायाँतिर एउटा नयाँ स्तम्भमा AblebitsRegex प्रकार्य घुसाइनेछ। डाटा। हाम्रो अवस्थामा, सूत्र हो:
=AblebitsRegexRemove(A2, "\b\d{4} \d{4} \d{4} \d{4}\b")
एकपटक सूत्र त्यहाँ पुगेपछि, तपाइँ यसलाई कुनै पनि नेटिभ सूत्र जस्तै सम्पादन, प्रतिलिपि वा सार्न सक्नुहुन्छ।
कसरी सेलमा Regex सूत्र सिधै घुसाउने
AblebitsRegex प्रकार्यहरू पनि एड-इनको इन्टरफेस प्रयोग नगरी सीधै सेलमा घुसाउन सकिन्छ। यहाँ कसरी छ:
थप जानकारीको लागि, कृपया एक्सेलका लागि Regex उपकरणहरू हेर्नुहोस्।
यस्तै एक्सेल कक्षहरूमा पाठ मिलाउन, निकाल्न, प्रतिस्थापन गर्न र हटाउन नियमित अभिव्यक्तिहरू प्रयोग गर्ने तरिका हो। पढ्नुभएकोमा म तपाईंलाई धन्यवाद दिन्छु र अर्को हप्ता हाम्रो ब्लगमा तपाईंलाई भेट्न आतुर छु!
उपलब्ध डाउनलोडहरू
Excel Regex - सूत्र उदाहरणहरू (.xlsm फाइल)
अल्टिम सूट - परीक्षण संस्करण (.exe फाइल)
वा .NET आधारित) वा regex लाई समर्थन गर्ने तेस्रो-पक्ष उपकरणहरू स्थापना गर्नुहोस्।Excel Regex चीट पाना
रेजेक्स ढाँचा धेरै सरल होस् वा अत्यन्त परिष्कृत, यो साझा वाक्यविन्यास प्रयोग गरेर बनाइएको हो। यो ट्यूटोरियलले तपाईंलाई नियमित अभिव्यक्तिहरू सिकाउने उद्देश्य राख्दैन। यसका लागि, त्यहाँ धेरै स्रोतहरू अनलाइन छन्, शुरुआतीहरूका लागि निःशुल्क ट्यूटोरियलदेखि उन्नत प्रयोगकर्ताहरूका लागि प्रिमियम पाठ्यक्रमहरू।
तल हामी मुख्य RegEx ढाँचाहरूको द्रुत सन्दर्भ प्रदान गर्छौं जसले तपाईंलाई आधारभूत कुराहरू बुझ्न मद्दत गर्नेछ। थप उदाहरणहरू अध्ययन गर्दा यसले तपाईंको धोखा पानाको रूपमा पनि काम गर्न सक्छ।
यदि तपाईं नियमित अभिव्यक्तिहरूसँग सहज हुनुहुन्छ भने, तपाईं सीधा RegExp प्रकार्यहरूमा जान सक्नुहुन्छ।
क्यारेक्टरहरू
यी निश्चित वर्णहरू मिलाउनको लागि प्रायः प्रयोग हुने ढाँचाहरू हुन्।
ढाँचा | विवरण | उदाहरण | मिलानहरू |
। | वाइल्डकार्ड क्यारेक्टर: लाइन ब्रेक बाहेक कुनै पनि एकल क्यारेक्टरसँग मेल खान्छ | ।ot | डट , hot , pot , @ot |
\d | अंक क्यारेक्टर: कुनै एक अंक 0 देखि 9 | \d | a1b मा, 1 |
\D | अङ्क नभएको कुनै पनि वर्ण | \D | a1b मा, a र b<2 सँग मेल खान्छ> |
\s | ह्वाइटस्पेस क्यारेक्टर: स्पेस, ट्याब, नयाँ लाइन र क्यारिज रिटर्न | ।\s। | मा 3 सेन्ट , मेल खान्छ 3 c |
\S | कुनै पनिगैर-ह्वाइटस्पेस वर्ण | \S+ | ३० सेन्ट मा, ३० र सेन्ट |
\w | शब्द वर्ण: कुनै पनि ASCII अक्षर, अंक वा अन्डरस्कोर | \w+ | 5_cats*** मा, मेल खान्छ 5_cats |
\W | कुनै पनि वर्ण जुन अल्फान्यूमेरिक वर्ण वा अन्डरस्कोर होइन | \W+ | 5_cats*** मा, *** |
\t | ट्याब | <14||
\n | नयाँ लाइन | \n\d+ | दुई-लाइनमा तलको स्ट्रिङ, 10 5 बिरालोहरू १० कुकुरहरू |
\ | एउटा क्यारेक्टरको विशेष अर्थबाट भाग्छ, ताकि तपाईं सक्नुहुन्छ यसको लागि खोज्नुहोस् | \. \w+\. | अवधिबाट बच्नुहोस् ताकि तपाईंले शाब्दिक "।" स्ट्रिङमा क्यारेक्टर श्रीमान , श्रीमती , प्रा. |
क्यारेक्टर वर्गहरू
यी ढाँचाहरू प्रयोग गरेर, तपाईंले विभिन्न क्यारेक्टर सेटहरूको तत्वहरू मिलाउन सक्नुहुन्छ।
ढाँचा | विवरण | उदाहरण | मिल्छ |
[अक्षर] | कोष्ठकमा कुनै एकल क्यारेक्टरसँग मेल खान्छ | d[oi]g | कुकुर र डिग |
[^अक्षर] | कोष्ठकमा नभएको कुनै एकल वर्णसँग मेल खान्छ | d[^oi]g | मिल्ने dag, dug , d1g मिल्दैन कुकुर र dig |
[बाट–सम्म] | को बीचको दायरामा कुनै पनि क्यारेक्टरसँग मेल खान्छकोष्ठकहरू | [0-9] [a-z] [A-Z] | 0 देखि 9 सम्म कुनै एकल अंक कुनै एकल सानो अक्षर कुनै पनि एकल ठूला अक्षर |
Quantifiers
Quantifiers विशेष अभिव्यक्तिहरू हुन् जसले मेल खाने क्यारेक्टरहरूको संख्या निर्दिष्ट गर्दछ। एक क्वान्टीफायर सधैं यसको अगाडि वर्णमा लागू हुन्छ।
ढाँचा | विवरण | उदाहरण | मिलानहरू |
* | शून्य वा बढी घटनाहरू | 1a* | 1, 1a , 1aa, 1aaa , आदि। |
+ | एक वा बढी घटनाहरू | po+ | In pot , मिल्छ po गरीब मा, मेल खान्छ poo |
? | शून्य वा एक घटना | roa?d | सडक, रड |
*? | शून्य वा धेरै घटनाहरू, तर सकेसम्म थोरै | 1a*? | 1a , 1aa र 1aaa मा, मेल खान्छ 1a |
+? | एक वा बढी घटनाहरू, तर सकेसम्म कम | po+? | <14 pot र गरीब मा, po|
? | शून्य वा एक घटनासँग मेल खान्छ , तर सकेसम्म कम | roa? | road र rod मा, ro | <मिल्छ 16>
{n} | अघिल्लो ढाँचा n पटक मिल्छ | \d{3} | ठीक 3 अंकहरू |
{n , | अघिल्लो ढाँचा n वा धेरै पटक मिल्छ | \d{3,} | ३ वा बढी अंकहरू |
{n,m} | सँग मेल खान्छn र m समयहरू बीचको अघिल्लो ढाँचा | \d{3,5} | ३ देखि ५ अंकसम्म |
समूहीकरण
समूह निर्माणहरू स्रोत स्ट्रिङबाट सबस्ट्रिङ क्याप्चर गर्न प्रयोग गरिन्छ, त्यसैले तपाईंले यससँग केही सञ्चालन गर्न सक्नुहुन्छ।
सिन्ट्याक्स | विवरण | उदाहरण | मिलानहरू |
(प्याटर्न) | समूह क्याप्चर गर्दै: मिल्दो सबस्ट्रिङ क्याप्चर गर्छ र यसलाई क्रमबद्ध नम्बर प्रदान गर्दछ | (\d+) | 5 बिरालो र 10 कुकुरहरू मा, 5 (समूह १) र 10 (समूह २) |
(?:pattern) | गैर-कैप्चरिङ समूह: समूहसँग मेल खान्छ तर यसलाई क्याप्चर गर्दैन | (\d+)(?: dogs) | 5 बिरालो र 10 कुकुरहरू मा, 10 |
\1 | समूहका सामग्रीहरू 1 | (\d+)\+(\d+)=\2\+\1 | 5+10=10+5 र क्याप्चर 5 र 10 , जुन समुहमा कब्जा गर्ने समूहमा छन् |
\2 | समूह २ को सामग्री |
एङ्करहरू
एङ्करहरूले इनपुट स्ट्रिङमा जहाँ खोज्ने ठाउँ निर्दिष्ट गर्छन् मिलान।
एङ्कर | विवरण | उदाहरण | मिलानहरू |
^ | स्ट्रिङको सुरुवात नोट: [^कोष्ठक भित्र] को अर्थ "होइन" | ^\d+ | मा कुनै पनि अंकको संख्या स्ट्रिङको सुरुवात। ५ बिरालो र १० कुकुर मा, 5 |
$ | स्ट्रिङको अन्त्य | \d+$ | स्ट्रिङको अन्त्यमा कुनै पनि अंकहरू। मा 10Y |
(?<=) | सकारात्मक लुक पछाडि | (?<=Y)X | एक्सएक्सप्रेशनसँग मेल खान्छ जब यो Y द्वारा अगाडि हुन्छ (अर्थात यदि X को पछाडि Y छ) |
(? | नकारात्मक लुक पछाडि | (? | अभिव्यक्ति Xसँग मेल खान्छ जब यो Y द्वारा अगाडि नआएको हो |
अब तपाईलाई आवश्यक कुराहरू थाहा छ, हामी सबैभन्दा रोचक भागमा जाऔं - प्रयोग गरेर स्ट्रिङहरू पार्स गर्न र आवश्यक जानकारी फेला पार्न वास्तविक डेटामा regexes। यदि तपाईंलाई सिन्ट्याक्सको बारेमा थप विवरणहरू चाहिन्छ भने, नियमित अभिव्यक्ति भाषामा माइक्रोसफ्ट गाइड उपयोगी साबित हुन सक्छ।
एक्सेलका लागि अनुकूलन RegEx प्रकार्यहरू
पहिले नै उल्लेख गरिएझैं, माइक्रोसफ्ट एक्सेलमा बिल्ट-इन RegEx प्रकार्यहरू छैनन्। नियमित अभिव्यक्ति सक्षम गर्न, हामीले तीनवटा अनुकूलन VBA प्रकार्यहरू (उर्फ प्रयोगकर्ता-परिभाषित प्रकार्यहरू) सिर्जना गरेका छौं। तपाईंले तल-लिङ्क गरिएका पृष्ठहरू वा हाम्रो नमूनाबाट कोडहरू प्रतिलिपि गर्न सक्नुहुन्छ। कार्यपुस्तिका, र त्यसपछि आफ्नै एक्सेल फाइलहरूमा टाँस्नुहोस्।
कसरी VBA RegExp प्रकार्यहरू काम गर्दछ
यस खण्डले भित्री मेकानिक्सको व्याख्या गर्दछ र int हुन सक्छ। ब्याकइन्डमा के हुन्छ भनेर जान्न चाहनेहरूका लागि।
VBA मा नियमित अभिव्यक्तिहरू प्रयोग गर्न सुरु गर्न, तपाईंले कि त RegEx वस्तु सन्दर्भ पुस्तकालय सक्रिय गर्न वा CreateObject प्रकार्य प्रयोग गर्न आवश्यक छ। तपाइँलाई VBA सम्पादकमा सन्दर्भ सेट गर्ने समस्यालाई बचाउनको लागि, हामीले पछिल्लो दृष्टिकोण रोज्यौँ।
RegExp वस्तुमा ४ गुणहरू छन्:
VBA RegExp सीमितताहरू
Excel VBA ले आवश्यक regex ढाँचाहरू लागू गर्दछ, तर यसमा धेरै उन्नत सुविधाहरूको कमी छैन। .NET, Perl, Java, र अन्य regex इन्जिनहरूमा उपलब्ध छ। उदाहरणका लागि, 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 सम्म कुनै २ ठूला अक्षरहरू } को अर्थ 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 मा इच्छित पाठहरू निर्दिष्ट गर्नुहोस्plus 5 ले 15 दिन्छ, 15
Alternation (OR) construct
Alternation operand ले OR तर्कलाई सक्षम बनाउँछ, त्यसैले तपाईँले यो वा त्यो तत्वलाई मिलाउन सक्नुहुन्छ।
Construct | विवरण | उदाहरण | मिलानहरू |