Shaxda tusmada
Weligaa ma fahmi karaa sababta tibaaxaha caadiga ah loogu taageeri waayay qaababka Excel? Hadda, waxay yihiin :) Iyada oo la adeegsanayo hawlahayaga gaarka ah, waxaad si fudud u heli kartaa, bedeli kartaa, soo saari kartaa oo ka saari kartaa xargaha u dhigma qaab gaar ah. > 3> Aragtida koowaad, Excel wuxuu leeyahay wax kasta oo aad waligaa u baahan karto xargaha qoraalka wax isdaba marin. Hmm... ka waran tibaaxaha caadiga ah? Haah, ma jiraan hawlo Regex ah oo ku dhex jira Excel. Laakiin ninna ma odhan karo ma abuuri karno kuwayaga> regexp ) waa jilayaal si gaar ah loo sugay oo qeexaya qaabka raadinta. Isticmaalka qaabkaas, waxaad ka heli kartaa xarfaha isku-dhafka ah ee isku midka ah ama waxaad xaqiijin kartaa gelinta xogta. Haddii aad aqoon u leedahay calaamada duurjoogta ah, waxaad u malayn kartaa regexes inuu yahay nooc horumarsan oo duurjoog ah.
Erayada caadiga ah waxay leeyihiin eray-bixin u gaar ah oo ka kooban jilayaal, hawl-wadeenno, iyo dhisayaal gaar ah. Tusaale ahaan, [0-5] waxay u dhigantaa hal nambar oo ka bilaabma 0 ilaa 5.
Erayada caadiga ah waxa lagu isticmaalaa luuqado badan oo barnaamij ah oo ay ku jiraan JavaScript iyo VBA. Kan dambe wuxuu leeyahay shay gaar ah oo RegExp ah, kaas oo aanu u isticmaali doono si aanu u abuurno hawlaheenna gaarka ah.
Excel ma taageertaa regex? Si aad u isticmaasho tibaaxaha caadiga ah ee qaacidooyinkaaga, waa inaad abuurtaa shaqadaada qeexan ee isticmaale (VBA)doodaha:
=IF(RegExpMatch(A5, $A$2), "Yes", "No")
>
> Tusaalayaal qaacido ah oo intaa ka badan, fadlan eeg:- >
- Sida loo waafajiyo xargaha iyadoo la isticmaalayo tibaaxaha caadiga ah
- ansaxinta xogta ugu sarreysa ee 'Regexes' <
regexpextrat regexpextrict regexpextrat-ka oo ku habboon tilmaanta caadiga ah iyo soosaarka dhammaan kulamada ama u dhigma gaar ah.
RegExpExtract (qoraal, qaab, [tusaale_num], [match_case])Halkan:
- > 24> Qoraalka (loo baahan yahay) - xargaha qoraalka si loo baadho in.
- > Qaabka (loo baahan yahay) - odhaahda caadiga ah ee la is waafajiyo soosaarid. Haddii la saaro, soo celisa dhammaan kulammada la helay (default)
- Match_case (ikhtiyaar) - wuxuu qeexayaa haddii la isku mid yahay (RUN ama la dhaafay) ama la iska indho-tiro (BEEN) kiis qoraal ah. <5
Waxaad ka heli kartaa code-ka shaqada halkan
>Tusaale: sida loo soo saaro xargaha iyadoo la adeegsanayo tibaaxaha caadiga ah >Anagoo tusaale u soo qaadanayna, aan soo saarno lambarrada qaansheegadka. Taas awgeed, waxaan u isticmaali doonaa regex aad u fudud oo u dhigma nambar kasta oo 7-god ah:Qaabka : \b\d{7}\b
Ku dheji qaabka A2 waxaadna shaqada ku heli doontaa qaabkan is haysta oo quruxda badan:
=RegExpExtract(A5, $A$2)
Hadii qaab la is waafajiyo, qaacidadu waxay soo saartaa lambarka qaansheegta, haddii aan la helin wax u dhigma - waxba lama soo celin.
>
Tusaalo dheeraad ah, fadlan eeg: Sida loo soo saaro xargaha Exceladoo isticmaalaya regex.
Excel Regex Bedel shaqada
>Shaqada RegExpReplace waxay badashaa qiyamka u dhigma regex qoraalka aad sheegtay. RegExpReplace(qoraal, qaab, bedel , [tusaale_nambar], [case_case])Halka:
- Qoraalka (loo baahan yahay) - xadhigga qoraalka si loo baadho. > 24> Qaabka (loo baahan yahay) - odhaahda caadiga ah ee iswaafajinta. >
- >Beddel (loo baahan yahay) - qoraalka lagu beddelayo xargaha-hoosaadka u dhigma. > 24> Instance_num (ikhtiyaar) - tusaale ahaan beddelka. Sida caadiga ah waa "dhammaan tartamo"
- Match_case (ikhtiyaar) - waxay koontaroolaysaa haddii la isku mid yahay (RUN ama la dhaafay) ama la iska indhatiro (BEEN) Kiiska qoraalka. > 5>
- Sida loo saaro xargaha adoo isticmaalaya regex , Beddel oo ka saar xargaha hoose
Code of the function is available here.
Tusaale: sida loo beddelo ama looga saaro xargaha iyadoo la isticmaalayo regexes
Qaar ka mid ah diiwaannadayada waxay ka kooban yihiin lambarrada kaararka deynta. Macluumaadkani waa qarsoodi, waxaana laga yaabaa inaad rabto inaad wax ku badasho ama tirtirto gabi ahaanba. Labada hawloodba waxaa lagu fulin karaa caawinta RegExpReplace shaqada. Sidee? Dhacdada labaad, waxaan ku badali doonaa xarig madhan.
Miiska muunada, dhammaan nambarada kaadhku waxay leeyihiin 16 nambar, kuwaas oo ku qoran 4 kooxood oo bannaan. Si loo helo iyaga, waxaanu ku celcelinaynaa qaabka anagoo adeegsanayna tibaaxahan caadiga ah:
Qaabka : \b\d{4} \d{4} \d{4} \d{4}\ b
Beddelka, xadhigga soo socda ayaa loo isticmaalaa:
Beddel : XXXX XXXX XXXXXXXX
Oo halkan waxaa ah qaacido dhammaystiran oo lagu ku beddelo lambarrada kaadhka deynta oo wata macluumaad aan dareen lahayn:
=RegExpReplace(A5, "\b\d{4} \d{4} \d{4} \d{4}\b", "XXXX XXXX XXXX XXXX")
Iyada oo qoraalka regex iyo beddelka unugyo gaar ah ( A2 iyo B2), qaacidadu waxay si siman u shaqeysaa si isku mid ah:
>> 3> Excel, "saarida" waa xaalad gaar ah oo ah "badal". Si aad kasaarto lambarada kaadhka deynta, kaliya isticmaal xadhig madhan ("") dooda beddelka :
=RegExpReplace(A5, "\b\d{4} \d{4} \d{4} \d{4}\b", "")
Talo. Si aad u hesho khadadka madhan natiijada, waxaad isticmaali kartaa shaqo kale RegExpReplace sida ku cad tusaalahan: Sida loo saaro khadadka maran adigoo isticmaalaya regex.
Wixii macluumaad dheeraad ah, fadlan eeg:
> 24>Sida loo beddelo xargaha Excel iyadoo la isticmaalayo regex >Si ka duwan hawlaha VBA-da ee aan kor ku soo hadalnay, Ultimate Suite's functional waa .NET, taas oo siinaysa laba faa'iidooyin oo waaweyn:
- Waxaad isticmaali kartaa tibaaxaha caadiga ah ee buugaagta shaqada ee .xlsx adoon ku darin code VBA ah oo aad u kaydsato sidii faylal awood leh.tibaaxaha caadiga ah, kaas oo kuu ogolaanaya inaad dhisto habab aad u casri ah.
Sida loo isticmaalo Regex ee Excel
Iyadoo la rakibay Ultimate Suite, iyadoo la adeegsanayo tibaaxaha caadiga ah ee Excel waa mid fudud sida labadan tallaabo. :
- >
- Marka ku taal Xogta Awoodda , gudaha Qoraalka kooxda, dhagsii Qalabka Regex .
3>
- Shaqada Regex Tools , samee sidan soo socota:
- >Dooro xogta isha
> Geli qaabka regex 24>Dooro ikhtiyaarka la rabo: Match , Ka saar , Ka saar ama Beddel . >Si aad natiijada u hesho sida qaacidada oo aan qiimo lahayn, dooro Geli qaab qaacido ahaan sanduuqa calaamadee - Ku dhufo badhanka ficilka
- Riix badhanka fx ee ku yaal baarka caanaha ama Geli Function ee Formulas tab. 24> Gudaha Geli Shaqada sanduuqa wada hadalka, dooro AblebitsUDFs qaybta, dooro shaqada xiisaha, oo dhagsii OK.
- Qeex dooda shaqada sida aad caadiyan samayso oo guji OK. La sameeyay!
- > Qaabka - waa ka qaabka si uu ugu dhigmo xargaha wax gelinta.
- Global - waxay xakameysaa in la helo dhammaan tabarrucyada xardhigga wax gelinta ama kaliya kan ugu horreeya. Hawlaheenna, waxa loo dejiyay Run si loo helo dhammaan tartammada .
- MultiLine - waxay go'aamisaa haddii ay ku habboon tahay qaabka xariiqda jaban ee xadhkaha badan ama kaliya safka hore. Xeerarkayada, waxa loo dejiyay Run si loo baadho sadar kasta .
- IgnoreCase - waxay qeexaysaa in tibaaxaha caadiga ahi yahay kiis xasaasi ah (default) ama kiis- dareen la'aan (Run loo dhigay). Xaaladeena, taasi waxay kuxirantahay sida aad u habeyneyso ikhtiyaarka match_case parameter. Sida caadiga ah, dhammaan hawluhu waa xaalad xasaasi ah . > 5>
- >>Qoraalka (loo baahan yahay) - hal ama ka badan xadhig si loo baadho. >
- >Halkan loo baahan yahay) - caadiga ahtibaaxaha la isku waafajinayo RUN ama laga tagay - kiis xasaasi ah; BEEN - kiis aan dareen lahayn
Tusaale ahaan, si aad lambarada kaadhka deynta uga saarto unugyada A2: A6, waxaanu dejinaynaa goobahan:
> > > 32>Trice, shaqada AblebitsRegex waxa la gelin doonaa tiir cusub dhinaca midigta ee asalkaaga asalka ah xogta. Anaga, qaacidadu waa:
=AblebitsRegexRemove(A2, "\b\d{4} \d{4} \d{4} \d{4}\b")
Halka qaacidada meesha taal, waxaad wax ka beddeli kartaa, koobi kartaa ama aad u guuri kartaa sida nooc kasta oo qaacido ah.
> 3>Sidee loo geliyaa qaacidada Regex si toos ah unug
>Shaqooyinka AblebitsRegex waxa kale oo si toos ah loogu geli karaa unug iyada oo aan la isticmaalin interfiyuuga add-in. Waa kan sida:
- >
Wixii macluumaad dheeraad ah, fadlan eeg Regex Tools for Excel.
Taasi waa sida loo isticmaalo tibaaxaha caadiga ah si loo waafajiyo, loo soo saaro, loo beddelo oo looga saaro qoraalka unugyada Excel. Waan kaaga mahadcelinayaa inaad akhriday waxaanan rajeynayaa inaan kugu arko blog-keena toddobaadka soo socda!
>> Soo dejisasho la heli karoExcel Regex - tusaalooyin qaacido ah (.xlsm file)
>Ultimate Suite - nooca tijaabada ah (.exe file) ama NET ku salaysan) ama ku rakib qalabyada qolo saddexaad ee taageeraya regexes.Excel Regex cheat sheet
Haddii qaabka regex uu yahay mid aad u fudud ama mid aad u casri ah, waxa la dhisay iyadoo la isticmaalayo syntax-ka caadiga ah. Casharkaan ujeedadiisu maaha inuu ku baro tibaaxaha joogtada ah. Tan, waxaa jira ilo badan oo online ah, laga bilaabo casharrada bilaashka ah ee bilowga ah ilaa koorsooyinka qiimaha leh ee isticmaalayaasha sare.
Hoos waxaan ku siineynaa tixraac degdeg ah qaababka RegEx ee ugu muhiimsan kuwaas oo kaa caawin doona inaad fahamto aasaaska. Waxa kale oo laga yaabaa inay u shaqeyso sidii xaashida khiyaamaynta markaad barato tusaalooyin dheeraad ah
Haddii aad ku qanacsan tahay tibaaxaha caadiga ah, waxaad si toos ah ugu boodi kartaa hawlaha RegExp.
Character
> Kuwani waa qaababka ugu badan ee la isticmaalo si ay u dhigmaan jilayaasha qaarkood.Qaabka | Sharaxaad | Tusaale | >Tusaale|||||||||
. | >Jileecada duurjoogta ah: waxay ku habboon tahay xaraf kasta marka laga reebo khadka jebinta | . kulul , dheri , @ot | >|||||||||
\d | Dabeecad lambar: hal nambar kasta laga bilaabo 0 ilaa 9 | \d | >gudaha a1b , u dhigma 1 > | >\D | Xaflad kasta oo aan lambar ahayn | \D | gudaha a1b , u dhigma a iyo b<2 | > >||||
\s | Jileecada meel cad: meel bannaan, tab, xariiq cusub iyo soo laabasho gaadhi | .. | In 3 senti , u dhigma 3 c > | ||||||||
\ S | Mid kastaxaraf aan bannaanayn | \S+ | In 30 senti , u dhigma 30 iyo senti | ||||||||
\w | Erayga xaraf kasta: xaraf kasta oo ASCII ah, digit ama hoosta | u dhigma 5_bisadaha | >|||||||||
\W | Dabeecad kasta oo AAN ahayn xarfo alifnumeric ah ama hoosta ka xarriiqay | 5_cats\W+ | 14> gudaha 5_bisadaha*** , u dhigma **|||||||||
\t | Tab | > | |||||||||
\n | khadka cusub | >\n\d+ > Labada sadar Xadhiga hoose, dhigma 10 5 bisadood 10 eyda | |||||||||
\ | Waxay ka baxsanaysaa macnaha gaarka ah ee jilaha, si aad u awooddo raadi | \. \w+\. > | > Waxay ka baxsataa muddo si aad u hesho ereyga saxda ah "." xarafka xarriiqda Mudane , Marwo , Prof> Fasalada jilayaasha Isticmaalka qaababkan, waxa aad iswaafajin kartaa qaybaha kala duwan ee jilayaasha
| Waxay ku habboon tahay xaraf kasta oo u dhexeeyabrackets | [0-9] [a-z] [A-Z] | Lambar kasta oo ka bilaabma 0 ilaa 9 Xaraf kasta oo yar |
Quantifiers
Tibaaxayaashu waa tibaaxo gaar ah oo tilmaamaya tirada xarfaha la isku waafaqayo. Qiyaasta mar walba waxay khusaysaa jilaha ka horreeya.
Qaabka | Sharaxaad | Tusaale | Taxane | |
* | >Er ama ka badan oo dhacdo | 1a* | 1, 1a , 1aa, 1aa , iwm. | |
+ | Hal ama ka badan oo dhacdo | po+ | In dheriga , u dhigma po >In faqiir , u dhigma poo > | |
? | > eber ama hal dhacdo | roa?d | dariiqa ama dhacdooyin badan, laakiin inta suurtogalka ah | 1a*? 1a > |
?? | > 14> Eber ama hal dhacdo , laakiin sida ugu yar ee suurtogalka ahroa?? | In wadada iyo ul , u dhigma ro > | 16>>||
{n} | >Ku habboon qaabkii hore n waqtiyada | >\d{3}Si sax ah 3 nambar | >{n ,} | >Ku habboon qaabkii hore n ama waqtiyo ka badan | >\d{3,}3 ama in ka badan | >
{n,m} | Waxay ku habboon tahayqaabka hore ee u dhexeeya n iyo m times | \d{3,5} | laga bilaabo 3 ilaa 5 lambar |
Kooxaha
Dhismaha kooxeed waxa loo isticmaalaa in lagu soo qabto xadhig-hoosaadka isha, si aad u samayn karto xoogaa qalliin ah>Tusaale >Tusaale >>
>Barroosinno
>Barroosinno waxay qeexaan booska xargaha gelinta halka laga raadinayo ciyaarta . bilawga xadhkaha> Dhamaadka xarriiqdagudaha 10Y
Hadda oo aad garanayso waxyaabaha daruuriga ah, aynu u gudubno qaybta ugu xiisaha badan – annagoo adeegsanayna regexes ee xogta dhabta ah si loo kala saaro xargaha oo loo helo macluumaadka loo baahan yahay.Haddii aad u baahan tahay faahfaahin dheeraad ah oo ku saabsan syntax, hagaha Microsoft ee Luqadda Hadalka Joogtada ah ayaa laga yaabaa inay ku caawiso.
Custom RegEx functional for Excel
Sidii aan horayba u soo sheegnay, Microsoft Excel ma laha hawlo RegEx ah oo ku dhex dhisan, si loo suurtageliyo tibaaxaha caadiga ah, waxaanu abuurnay saddex hawlood oo VBA ah oo caado u ah (loona yaqaan adeegsad qeexan) Buug-shaqaale, ka dibna ku dheji faylashaada Excel.
Sida VBA RegExp u shaqeyso Si aad u bilawdo isticmaalka odhaahyada caadiga ah ee VBA, waxaad u baahan tahay inaad kiciso maktabadda tixraaca shayga RegEx ama isticmaal shaqada CreateObject. Si aad u badbaadiso dhibaatada dejinta tixraaca ee tifaftiraha VBA, waxaan dooranay habka dambe.
Shayga RegExp wuxuu leeyahay 4 sifo:
>Xuadaha VBA RegExp
Excel VBA waxay fulisaa qaababka regex-ka muhiimka ah, laakiin waxa ka maqan astaamo badan oo horumarsan. laga heli karo NET, Perl, Java, iyo matoorada kale ee regex. Tusaale ahaan, VBA RegExp ma taageerto wax-ka-beddelayaasha khadka ah sida (?i) is-waafajinta kiis-ku-darka ama (?m) qaabka khadadka badan, eegidda, fasallada POSIX, si loo magacaabo dhowr.
Excel Regex Shaqada ciyaarta
Shaqada RegExpMatch waxay raadisaa xarkaha gelinta qoraalka ee u dhigma odhaahda caadiga ah oo soo celisa RUN haddii ciyaar la helo, haddii kale BEEN.
RegExpMatch (qoraal, qaab, [ match_case])Halka:
- >
Tusaale: sida loo isticmaalo tibaaxaha caadiga ah si loo waafajiyo xargaha
>Xidhaynta hoose, ka soo qaad inaad rabto si loo aqoonsado gelinta ay ku jiraan koodka SKUMarka la eego in SKU kastaa uu ku bilaabo 2 xaraf oo waaweyn, oo ay ku xigto xaraf-xarafeed, oo ay ku xigto 4 nambar, waxaad la jaan qaadi kartaa iyaga adoo isticmaalaya odhaahda soo socota.
>1>Qaabka : \b[A-Z]{2}-\d{4}\b
Meesha [A-Z]{2} macnaheedu waa 2 xaraf oo waaweyn oo ka yimid A ilaa Z iyo \d{4} } macnaheedu waa 4 nambar oo ka bilaabma 0 ilaa 9. Xadka erayga \b wuxuu tilmaamayaa in SKU uu yahay kelmad gooni ah oo aan ka mid ahayn xarriiq weyn
, iyo magaca shaqada ayaa ka muuqan doona liiska uu soo jeediyay Excel's AutoComplete:>
Haddii loo maleynayo in xarigga asalka ah uu ku jiro A5, qaaciddadu waxay u socotaa sida soo socota:
> =RegExpMatch(A5, "\b[A-Z]{2}-\d{3}\b")
Si ku habboonaato, waxaad geli kartaa odhaahda caadiga ah unug gaar ah oo waxaad isticmaali kartaa tixraac dhammaystiran ($A$2) qaabka doodaha t. Tani waxay hubinaysaa in ciwaanka unugyadu aanu isbedeli doonin marka aad koobiyayso qaacidada unugyo kale:
=RegExpMatch(A5, $A$2)
Si aad u muujiso sumadahaaga qoraalka halkii aad ka ahaan lahayd RUN iyo BEEN, Nest RegExpMatch gudaha IF function iyo sheeg qoraalada la rabo qiimaha_if_run iyo qiimaha_if_been oo lagu daray 5 waxay siinaysaa 15 , dhigma 15
>