સામગ્રીઓનું કોષ્ટક
ક્યારેય સમજી શકતા નથી કે એક્સેલ ફોર્મ્યુલામાં રેગ્યુલર એક્સપ્રેશન્સ કેમ સમર્થિત નથી? હવે, તે છે :) અમારા કસ્ટમ ફંક્શન્સ સાથે, તમે ચોક્કસ પેટર્ન સાથે મેળ ખાતી સ્ટ્રીંગ્સ સરળતાથી શોધી, બદલી, એક્સટ્રેક્ટ અને દૂર કરી શકો છો.
પ્રથમ નજરે, એક્સેલ પાસે ટેક્સ્ટ સ્ટ્રિંગ માટે તમને જરૂર પડી શકે તે બધું છે. મેનીપ્યુલેશન્સ હમ્મ... રેગ્યુલર એક્સપ્રેશન વિશે શું? અરેરે, Excel માં કોઈ બિલ્ટ-ઇન Regex ફંક્શન્સ નથી. પરંતુ કોઈ કહેતું નથી કે આપણે આપણી પોતાની બનાવી શકતા નથી :)
રેગ્યુલર એક્સપ્રેશન શું છે?
રેગ્યુલર એક્સપ્રેશન (ઉર્ફ regex અથવા regexp ) એ અક્ષરોનો ખાસ એન્કોડેડ ક્રમ છે જે શોધ પેટર્નને વ્યાખ્યાયિત કરે છે. તે પેટર્નનો ઉપયોગ કરીને, તમે સ્ટ્રીંગમાં મેળ ખાતા અક્ષર સંયોજન શોધી શકો છો અથવા ડેટા ઇનપુટને માન્ય કરી શકો છો. જો તમે વાઇલ્ડકાર્ડ નોટેશનથી પરિચિત છો, તો તમે રેગેક્સને વાઇલ્ડકાર્ડ્સના અદ્યતન સંસ્કરણ તરીકે વિચારી શકો છો.
રેગ્યુલર એક્સપ્રેશનમાં વિશિષ્ટ અક્ષરો, ઓપરેટર્સ અને રચનાઓનો સમાવેશ થતો હોય છે. ઉદાહરણ તરીકે, [0-5] 0 થી 5 સુધીના કોઈપણ એક અંક સાથે મેળ ખાય છે.
જાવાસ્ક્રિપ્ટ અને VBA સહિત ઘણી પ્રોગ્રામિંગ ભાષાઓમાં નિયમિત અભિવ્યક્તિનો ઉપયોગ થાય છે. બાદમાં એક ખાસ RegExp ઑબ્જેક્ટ છે, જેનો ઉપયોગ અમે અમારા કસ્ટમ ફંક્શન્સ બનાવવા માટે કરીશું.
શું એક્સેલ રેજેક્સને સપોર્ટ કરે છે?
અફસોસની વાત એ છે કે એક્સેલમાં કોઈ ઇનબિલ્ટ રેજેક્સ ફંક્શન્સ નથી. તમારા સૂત્રોમાં રેગ્યુલર એક્સપ્રેશનનો ઉપયોગ કરવામાં સમર્થ થવા માટે, તમારે તમારું પોતાનું વપરાશકર્તા-વ્યાખ્યાયિત કાર્ય (VBA) બનાવવું પડશે.દલીલો:
=IF(RegExpMatch(A5, $A$2), "Yes", "No")
વધુ ફોર્મ્યુલા ઉદાહરણો માટે, કૃપા કરીને જુઓ:
- રેગ્યુલર એક્સપ્રેશનનો ઉપયોગ કરીને સ્ટ્રીંગ્સને કેવી રીતે મેચ કરવી<25
- Regexes સાથે એક્સેલ ડેટા વેલિડેશન
Excel Regex Extract function
The RegExpExtract ફંક્શન રેગ્યુલર એક્સપ્રેશન સાથે મેળ ખાતા સબસ્ટ્રિંગ માટે શોધે છે અને તમામ મેચોને બહાર કાઢે છે અથવા ચોક્કસ મેળ.
RegExpExtract(ટેક્સ્ટ, પેટર્ન, [instance_num], [match_case])ક્યાં:
- ટેક્સ્ટ (જરૂરી) - શોધવા માટે ટેક્સ્ટ સ્ટ્રીંગ માં.
- પેટર્ન (જરૂરી) - મેચ કરવા માટે નિયમિત અભિવ્યક્તિ.
- ઇન્સ્ટન્સ_નંમ (વૈકલ્પિક) - એક સીરીયલ નંબર જે સૂચવે છે કે કયા દાખલાને અર્ક. જો અવગણવામાં આવે તો, તમામ મળેલા મેળ (ડિફૉલ્ટ) પરત કરે છે.
- મેચ_કેસ (વૈકલ્પિક) - વ્યાખ્યાયિત કરે છે કે શું મેચ કરવું (સાચું અથવા અવગણેલું) અથવા અવગણવું (ખોટું) ટેક્સ્ટ કેસ.
તમે ફંક્શનનો કોડ અહીં મેળવી શકો છો.
ઉદાહરણ: રેગ્યુલર એક્સપ્રેશનનો ઉપયોગ કરીને સ્ટ્રીંગ્સ કેવી રીતે એક્સટ્રેક્ટ કરવી
અમારું ઉદાહરણ થોડું આગળ લઈ જઈએ, ચાલો ઈન્વોઈસ નંબર્સ કાઢીએ. આ માટે, અમે ખૂબ જ સરળ રેજેક્સનો ઉપયોગ કરીશું જે કોઈપણ 7-અંકના નંબર સાથે મેળ ખાય છે:
પેટર્ન : \b\d{7}\b
પુટ A2 માં પેટર્ન અને તમે આ કોમ્પેક્ટ અને ભવ્ય ફોર્મ્યુલા સાથે કામ કરી શકશો:
=RegExpExtract(A5, $A$2)
જો કોઈ પેટર્ન મેળ ખાતી હોય, તો ફોર્મ્યુલા એક ઇન્વૉઇસ નંબર કાઢે છે, જો કોઈ મેળ ન મળે તો - કંઈ પાછું મળતું નથી.
વધુ ઉદાહરણો માટે, કૃપા કરીને જુઓ: Excel માં સ્ટ્રીંગ્સ કેવી રીતે કાઢવાregex નો ઉપયોગ કરીને.
Excel Regex Replace function
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), ફોર્મ્યુલા સમાન રીતે સારી રીતે કામ કરે છે:
Excel માં, "દૂર કરવું" એ "રિપ્લેસિંગ" નો ચોક્કસ કેસ છે. ક્રેડિટ કાર્ડ નંબરોને દૂર કરવા માટે, બદલી દલીલ માટે ખાલી સ્ટ્રિંગ ("") નો ઉપયોગ કરો:
=RegExpReplace(A5, "\b\d{4} \d{4} \d{4} \d{4}\b", "")
ટીપ. પરિણામોમાં ખાલી લીટીઓની રીગ મેળવવા માટે, તમે આ ઉદાહરણમાં બતાવ્યા પ્રમાણે અન્ય RegExpReplace ફંક્શનનો ઉપયોગ કરી શકો છો: regex નો ઉપયોગ કરીને ખાલી લીટીઓ કેવી રીતે દૂર કરવી.
વધુ માહિતી માટે, કૃપા કરીને જુઓ:
- રેજેક્સનો ઉપયોગ કરીને એક્સેલમાં સ્ટ્રીંગ્સ કેવી રીતે બદલવી
- રેજેક્સનો ઉપયોગ કરીને સ્ટ્રીંગ્સ કેવી રીતે દૂર કરવી
- રેજેક્સનો ઉપયોગ કરીને વ્હાઇટસ્પેસ કેવી રીતે દૂર કરવી
રેજેક્સ ટૂલ્સ મેચ કરવા, કાઢવા , સબસ્ટ્રિંગ્સને બદલો અને દૂર કરો
અમારા અલ્ટીમેટ સ્યુટના વપરાશકર્તાઓ તેમની વર્કબુકમાં કોડની એક લીટી દાખલ કર્યા વિના નિયમિત અભિવ્યક્તિની તમામ શક્તિ મેળવી શકે છે. બધા જરૂરી કોડ અમારા ડેવલપર્સ દ્વારા લખવામાં આવે છે અને ઇન્સ્ટોલેશન દરમિયાન તમારા એક્સેલમાં સરળ રીતે સંકલિત કરવામાં આવે છે.
ઉપર ચર્ચા કરેલ VBA ફંક્શનથી વિપરીત, અલ્ટીમેટ સ્યુટના ફંક્શન્સ .NET આધારિત છે, જે બે મુખ્ય ફાયદા આપે છે:
- તમે સામાન્ય .xlsx વર્કબુકમાં કોઈપણ VBA કોડ ઉમેર્યા વિના અને તેમને મેક્રો-સક્ષમ ફાઇલો તરીકે સાચવ્યા વિના ઉપયોગ કરી શકો છો.
- .NET Regex એન્જિન સંપૂર્ણ સુવિધાયુક્ત ક્લાસિકને સપોર્ટ કરે છેરેગ્યુલર એક્સપ્રેશન્સ, જે તમને વધુ સુસંસ્કૃત પેટર્ન બનાવવા દે છે.
એક્સેલમાં રેજેક્સનો ઉપયોગ કેવી રીતે કરવો
અલ્ટિમેટ સ્યુટ ઇન્સ્ટોલ સાથે, એક્સેલમાં રેગ્યુલર એક્સપ્રેશન્સનો ઉપયોગ આ બે પગલાં જેટલો સરળ છે. :
- Ablebits Data ટેબ પર, Text જૂથમાં, Regex Tools પર ક્લિક કરો.
- Regex Tools ફલક પર, નીચે મુજબ કરો:
- સ્રોત ડેટા પસંદ કરો.
- તમારી રેજેક્સ પેટર્ન દાખલ કરો.
- ઇચ્છિત વિકલ્પ પસંદ કરો: મેચ , એક્સ્ટ્રેક્ટ કરો , કાઢી નાખો અથવા બદલો .
- પરિણામ મેળવવા માટે ફોર્મ્યુલા અને મૂલ્ય નહીં, સૂત્ર તરીકે દાખલ કરો ચેક બોક્સ પસંદ કરો.
- એક્શન બટન દબાવો.
દાખલા તરીકે, કોષોમાંથી ક્રેડિટ કાર્ડ નંબર દૂર કરવા માટે A2:A6, અમે આ સેટિંગ્સને ગોઠવીએ છીએ:
એક ટ્રાઈસમાં, તમારા મૂળની જમણી બાજુએ નવી કૉલમમાં AblebitsRegex ફંક્શન દાખલ કરવામાં આવશે. ડેટા અમારા કિસ્સામાં, સૂત્ર છે:
=AblebitsRegexRemove(A2, "\b\d{4} \d{4} \d{4} \d{4}\b")
એકવાર ફોર્મ્યુલા આવી જાય, પછી તમે તેને કોઈપણ મૂળ ફોર્મ્યુલાની જેમ સંપાદિત, કૉપિ અથવા ખસેડી શકો છો.
કોષમાં સીધું જ રેજેક્સ ફોર્મ્યુલા કેવી રીતે દાખલ કરવું
AblebitsRegex ફંક્શન પણ એડ-ઈનના ઈન્ટરફેસનો ઉપયોગ કર્યા વિના સીધા સેલમાં દાખલ કરી શકાય છે. અહીં કેવી રીતે છે:
- સૂત્ર બાર પર fx બટન પર ક્લિક કરો અથવા સૂત્રો ટેબ પર ફંક્શન દાખલ કરો .
- Insert Function સંવાદ બોક્સમાં, AblebitsUDFs પસંદ કરોકેટેગરી, રુચિનું કાર્ય પસંદ કરો અને ઓકે ક્લિક કરો.
- તમે સામાન્ય રીતે કરો છો તેમ ફંક્શનની દલીલોને વ્યાખ્યાયિત કરો અને ઠીક ક્લિક કરો. થઈ ગયું!
વધુ માહિતી માટે, કૃપા કરીને એક્સેલ માટે રેજેક્સ ટૂલ્સ જુઓ.
એક્સેલ સેલમાં ટેક્સ્ટને મેચ કરવા, કાઢવા, બદલવા અને દૂર કરવા માટે રેગ્યુલર એક્સપ્રેશનનો ઉપયોગ આ રીતે કરવો. હું વાંચવા બદલ તમારો આભાર માનું છું અને આવતા અઠવાડિયે તમને અમારા બ્લોગ પર મળવાની રાહ જોઉં છું!
ઉપલબ્ધ ડાઉનલોડ્સ
Excel Regex - ફોર્મ્યુલા ઉદાહરણો (.xlsm ફાઇલ)
Ultimate Suite - ટ્રાયલ વર્ઝન (.exe ફાઇલ)
અથવા .NET આધારિત) અથવા રેજેક્સને સપોર્ટ કરતા તૃતીય-પક્ષ ટૂલ્સ ઇન્સ્ટોલ કરો.એક્સેલ રેજેક્સ ચીટ શીટ
રેજેક્સ પેટર્ન ખૂબ જ સરળ હોય કે અત્યંત અત્યાધુનિક, તે સામાન્ય વાક્યરચનાનો ઉપયોગ કરીને બનાવવામાં આવે છે. આ ટ્યુટોરીયલનો ઉદ્દેશ તમને નિયમિત અભિવ્યક્તિ શીખવવાનો નથી. આ માટે, નવા નિશાળીયા માટેના મફત ટ્યુટોરિયલ્સથી લઈને અદ્યતન વપરાશકર્તાઓ માટે પ્રીમિયમ અભ્યાસક્રમો સુધી પુષ્કળ સંસાધનો છે.
નીચે અમે મુખ્ય RegEx પેટર્નનો ઝડપી સંદર્ભ પ્રદાન કરીએ છીએ જે તમને મૂળભૂત બાબતોને સમજવામાં મદદ કરશે. આગળના ઉદાહરણોનો અભ્યાસ કરતી વખતે તે તમારી ચીટ શીટ તરીકે પણ કામ કરી શકે છે.
જો તમે રેગ્યુલર એક્સપ્રેશન સાથે આરામદાયક છો, તો તમે સીધા જ RegExp ફંક્શન પર જઈ શકો છો.
અક્ષરો
આ ચોક્કસ અક્ષરોને મેચ કરવા માટે સૌથી વધુ ઉપયોગમાં લેવાતી પેટર્ન છે.
પેટર્ન | વર્ણન | ઉદાહરણ | મેચ | <16
. | વાઇલ્ડકાર્ડ અક્ષર: રેખા વિરામ સિવાય કોઈપણ એક અક્ષર સાથે મેળ ખાય છે | .ot | ડોટ , હોટ , પોટ , @ot |
\d | અંક અક્ષર: કોઈપણ એક અંક 0 થી 9 | \d | a1b માં, 1 |
\D<સાથે મેળ ખાય છે 15> | કોઈપણ અક્ષર જે અંક નથી | \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+\. | એક સમયગાળો એસ્કેપ કરે છે જેથી તમે શાબ્દિક "." શોધી શકો. શબ્દમાળામાં અક્ષર શ્રી , શ્રીમતી , પ્રો. |
પાત્ર વર્ગો
આ પેટર્નનો ઉપયોગ કરીને, તમે વિવિધ અક્ષર સમૂહોના ઘટકોને મેચ કરી શકો છો.
પેટર્ન | વર્ણન | ઉદાહરણ | મેચ |
[અક્ષરો] | કૌંસમાં કોઈપણ એક અક્ષર સાથે મેળ ખાય છે | d[oi]g<15 | કૂતરો અને ડિગ |
[^અક્ષરો] | કૌંસમાં ન હોય તેવા કોઈપણ એક અક્ષર સાથે મેળ ખાય છે | d[^oi]g | મેચ ડેગ, ડગ , ડી1જી મેચ નથી કૂતરો અને dig |
[થી-થી] | ની વચ્ચેની શ્રેણીમાં કોઈપણ અક્ષર સાથે મેળ ખાય છેકૌંસ | [0-9] [a-z] [A-Z] | 0 થી 9 સુધીનો કોઈપણ એક અંક કોઈપણ એકલ લોઅરકેસ અક્ષર કોઈપણ એક અપરકેસ અક્ષર |
ક્વોન્ટિફાયર
ક્વોન્ટિફાયર એ વિશિષ્ટ સમીકરણો છે જે મેચ કરવા માટેના અક્ષરોની સંખ્યાનો ઉલ્લેખ કરે છે. ક્વોન્ટિફાયર હંમેશા તેના પહેલાના પાત્રને લાગુ પડે છે.
પેટર્ન | વર્ણન | ઉદાહરણ | મેચ |
* | શૂન્ય અથવા વધુ ઘટનાઓ | 1a* | 1, 1a , 1aa, 1aaa , વગેરે. |
+ | એક અથવા વધુ ઘટનાઓ | po+ | પોટ માં , મેચ po નબળી માં, મેચ poo |
? | શૂન્ય અથવા એક ઘટના | roa?d | રોડ, રોડ |
*? | શૂન્ય અથવા વધુ ઘટનાઓ, પરંતુ શક્ય તેટલી ઓછી | 1a*? | 1a , 1aa અને 1aaa માં, મેળ ખાય છે 1a |
+? | એક અથવા વધુ ઘટનાઓ, પરંતુ શક્ય તેટલી ઓછી | po+? | <14 પોટ અને નબળી માં, પો|
? | શૂન્ય અથવા એક ઘટના સાથે મેળ ખાય છે , પરંતુ શક્ય તેટલું ઓછું | 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>^
નોંધ: [^કૌંસની અંદર] એટલે "નથી"
5 બિલાડીઓ અને 10 કૂતરા માં, મેચ 5
10 માંY
હવે તમે આવશ્યકતાઓ જાણો છો, ચાલો સૌથી રસપ્રદ ભાગ તરફ આગળ વધીએ - ઉપયોગ કરીને શબ્દમાળાઓનું વિશ્લેષિત કરવા અને જરૂરી માહિતી શોધવા માટે વાસ્તવિક ડેટા પર regexes. જો તમને વાક્યરચના વિશે વધુ વિગતોની જરૂર હોય, તો રેગ્યુલર એક્સપ્રેશન લેંગ્વેજ પરની Microsoft માર્ગદર્શિકા મદદરૂપ થઈ શકે છે.
Excel માટે કસ્ટમ RegEx ફંક્શન્સ
પહેલેથી જ ઉલ્લેખ કર્યો છે તેમ, માઈક્રોસોફ્ટ એક્સેલમાં કોઈ બિલ્ટ-ઇન RegEx ફંક્શન્સ નથી. રેગ્યુલર એક્સપ્રેશનને સક્ષમ કરવા માટે, અમે ત્રણ કસ્ટમ VBA ફંક્શન્સ (ઉર્ફે વપરાશકર્તા-વ્યાખ્યાયિત કાર્યો) બનાવ્યા છે. તમે નીચેના-લિંક કરેલા પૃષ્ઠો અથવા અમારા નમૂનામાંથી કોડની નકલ કરી શકો છો. વર્કબુક, અને પછી તમારી પોતાની એક્સેલ ફાઈલોમાં પેસ્ટ કરો.
VBA RegExp કેવી રીતે કાર્ય કરે છે
આ વિભાગ આંતરિક મિકેનિક્સ સમજાવે છે અને તે પૂર્ણ થઈ શકે છે જેઓ બેકએન્ડ પર બરાબર શું થાય છે તે જાણવા માગે છે તેમને જણાવવું.
VBA માં રેગ્યુલર એક્સપ્રેશનનો ઉપયોગ કરવાનું શરૂ કરવા માટે, તમારે કાં તો RegEx ઑબ્જેક્ટ રેફરન્સ લાઇબ્રેરીને સક્રિય કરવી પડશે અથવા CreateObject ફંક્શનનો ઉપયોગ કરવો પડશે. તમને VBA એડિટરમાં સંદર્ભ સેટ કરવાની મુશ્કેલીમાંથી બચાવવા માટે, અમે પછીનો અભિગમ પસંદ કર્યો છે.
RegExp ઑબ્જેક્ટમાં 4 ગુણધર્મો છે:
- પેટર્ન - છે આઇનપુટ સ્ટ્રિંગમાં મેચ કરવા માટે પેટર્ન .
- ગ્લોબલ - નિયંત્રણ કરે છે કે ઇનપુટ સ્ટ્રિંગમાં તમામ મેળ શોધવા કે માત્ર પ્રથમ એક. અમારા કાર્યોમાં, તમામ મેળ મેળવવા માટે તે સાચું પર સેટ કરેલ છે.
- મલ્ટિલાઈન - તે નક્કી કરે છે કે મલ્ટી-લાઈન સ્ટ્રીંગ્સમાં લાઇન બ્રેક્સમાં પેટર્નને મેચ કરવી કે માત્ર પ્રથમ લીટીમાં. અમારા કોડમાં, તે દરેક લાઇનમાં શોધવા માટે True પર સેટ કરેલ છે.
- ઇગ્નોરકેસ - રેગ્યુલર એક્સપ્રેશન કેસ-સેન્સિટિવ (ડિફૉલ્ટ) છે કે કેસ- અસંવેદનશીલ (સત્ય પર સેટ કરો). અમારા કિસ્સામાં, તે તમે વૈકલ્પિક match_case પરિમાણને કેવી રીતે ગોઠવો છો તેના પર આધાર રાખે છે. મૂળભૂત રીતે, તમામ કાર્યો કેસ-સંવેદનશીલ છે.
VBA RegExp મર્યાદાઓ
Excel VBA આવશ્યક રેજેક્સ પેટર્નનો અમલ કરે છે, પરંતુ તેમાં ઘણી અદ્યતન સુવિધાઓનો અભાવ છે. .NET, પર્લ, જાવા અને અન્ય રેજેક્સ એન્જિનમાં ઉપલબ્ધ છે. ઉદાહરણ તરીકે, VBA RegExp ઇનલાઇન મોડિફાયરને સપોર્ટ કરતું નથી જેમ કે કેસ-અસંવેદનશીલ મેચિંગ માટે (?i) અથવા (?m) મલ્ટિ-લાઇન મોડ, લુક બેહાઈન્ડ્સ, POSIX ક્લાસ, થોડા નામ માટે.
Excel Regex મેચ ફંક્શન
RegExpMatch ફંક્શન ટેક્સ્ટ માટે ઇનપુટ સ્ટ્રિંગ શોધે છે જે રેગ્યુલર એક્સપ્રેશન સાથે મેળ ખાય છે અને જો મેચ મળે તો TRUE પરત કરે છે, અન્યથા FALSE.
RegExpMatch(ટેક્સ્ટ, પેટર્ન, [ match_case])ક્યાં:
- ટેક્સ્ટ (જરૂરી) - શોધવા માટે એક અથવા વધુ સ્ટ્રીંગ.
- પેટર્ન ( જરૂરી) - નિયમિતમેચ કરવા માટે અભિવ્યક્તિ.
- મેચ_કેસ (વૈકલ્પિક) - મેચ પ્રકાર. સાચું અથવા અવગણાયેલ - કેસ-સંવેદનશીલ; FALSE - કેસ-અસંવેદનશીલ
ફંક્શનનો કોડ અહીં છે.
ઉદાહરણ: શબ્દમાળાઓ સાથે મેળ કરવા માટે રેગ્યુલર એક્સપ્રેશનનો ઉપયોગ કેવી રીતે કરવો
નીચેના ડેટાસેટમાં, ધારો કે તમે ઇચ્છો છો 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 લોજિકને સક્ષમ કરે છે, જેથી તમે આ અથવા તે ઘટકને મેચ કરી શકો.
Construct | વર્ણન | ઉદાહરણ | મેચ |