Tusaalooyinka Excel RegEx: Isticmaalka tibaaxaha caadiga ah ee qaacidooyinka

  • La Wadaag Tan
Michael Brown

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>

    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 >
  • Sida loo saaro xargaha adoo isticmaalaya regex
  • , Beddel oo ka saar xargaha hoose
> Isticmaalayaasha Ultimate Suite waxay heli karaan dhammaan awoodda tibaaxaha caadiga ah iyaga oo aan gelin hal xariiq oo kood ah buugaagta shaqada. Dhammaan koodka lagama maarmaanka ah waxaa qoray horumariyayaasheenna oo ku dhexjira Excel-kaaga inta lagu jiro rakibidda.

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:

  1. 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. :

    >
  1. Marka ku taal Xogta Awoodda , gudaha Qoraalka kooxda, dhagsii Qalabka Regex .

    3>

  2. Shaqada Regex Tools , samee sidan soo socota:
      >Dooro xogta isha
  3. > 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
  4. Ku dhufo badhanka ficilka
  5. 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:

      >
    1. Riix badhanka fx ee ku yaal baarka caanaha ama Geli Function ee Formulas tab.
    2. 24> Gudaha Geli Shaqada sanduuqa wada hadalka, dooro AblebitsUDFs qaybta, dooro shaqada xiisaha, oo dhagsii OK.

    3. Qeex dooda shaqada sida aad caadiyan samayso oo guji OK. La sameeyay!

    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 karo

    Excel 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. > >Tusaale > > > > > > >>> > > > > > > >> 5_cats 14> gudaha 5_bisadaha*** , u dhigma ** > >\n\d+ > > >>>>>>>[ka-ilaa]
    Qaabka Sharaxaad 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 \W+
    \t Tab >
    \n khadka cusub 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

    > > >
    Qaabka Sharax Tusaale. ey iyo qodi >
    [^ characters] Waxay ku habboon tahay xaraf kasta oo AAN ku jirin xargaha. 15> d[^oi]g Kulanka dag, qoday , d1g >

    Lama eka ey iyo qodi >

    15>
    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

    Xaraf kasta oo weyn > >> >

    Quantifiers

    Tibaaxayaashu waa tibaaxo gaar ah oo tilmaamaya tirada xarfaha la isku waafaqayo. Qiyaasta mar walba waxay khusaysaa jilaha ka horreeya.

    > > > > > > > > >>+? >+ Gudaha dheriga iyo faqiir , u dhigma po > >> > 14> Eber ama hal dhacdo , laakiin sida ugu yar ee suurtogalka ah 16>> > > >\d{3} > 18> > >\d{3,} > >> >
    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 >
    ?? roa?? In wadada iyo ul , u dhigma ro >
    {n} Ku habboon qaabkii hore n waqtiyada Si sax ah 3 nambar
    {n ,} Ku habboon qaabkii hore n ama waqtiyo ka badan 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 >> > (qaabka) Kooxda Qabashada: waxay qabataa xadhig-hoosaad u dhigma oo u qoondeeya lambar caadi ah 14>(\d+) In 5 bisadood iyo 10 eyda , waxay qabtaan 5 (koox 1) iyo 10 (koox 2)<( In 5 bisadood iyo 10 eyda , waxay qabtaan 10 > > > \1 Waxay ka kooban tahay kooxda 1 (\d+)\+(\d+)=\2\+\1 Waxay u dhigantaa 5+10=10+5 waxayna soo qabataa 5 iyo 10 , kuwaas oo ku jira koox-qabasho > \2 Waxay ka kooban tahay kooxda 2 > >

    Barroosinno

    >Barroosinno waxay qeexaan booska xargaha gelinta halka laga raadinayo ciyaarta . bilawga xadhkaha> Dhamaadka xarriiqda \d+$ Tiro kasta oo lambarro ah oo ku yaal dhammaadka xardhigga.

    gudaha 10Y

    (?<=) Eegitaanka togan ee danbe (?<=Y)X > Waxay u dhigantaa muujinta X marka uu ka horeeyo Y (yacni haddii uu jiro Y ka dambeeya X) > 14>Wuxuu dheela tibaaxaha X marka AAN laga horrayn Y

    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:

    >
  6. > Qaabka - waa ka qaabka si uu ugu dhigmo xargaha wax gelinta.
  7. 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 .
  8. 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 .
  9. 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 .
  10. > 5>

    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:

      >
    • >>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
    > Koodhka shaqadu waa halkan

    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 SKU

    Marka 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

    > \b xuduudka ereyga \bjoy\b > Ku dhigma farxad sida kelmad gaar ah, laakiin kuma jirto ku raaxaysan . > \B > Ma aha xuduud kelmad \Bjoy\B > Ku dhigma farxad gudaha ku raaxaysan karo , laakiin maaha sida kelmad gaar ah. > >>

    Bedelka (ama) Dhisme

    14>Sharaxaad >Tusaale >Tusaale > >

Michael Brown waa xamaasad tignoolajiyada u heellan oo xiise u leh fududaynta hababka adag iyadoo la adeegsanayo aaladaha software. In ka badan toban sano oo waayo-aragnimo ah oo ku saabsan warshadaha teknoolajiyada, wuxuu ku horumariyay xirfadihiisa Microsoft Excel iyo Outlook, iyo sidoo kale Google Sheets iyo Docs. Blog-ga Michael wuxuu u heellan yahay inuu la wadaago aqoontiisa iyo khibradiisa dadka kale, isagoo siinaya tabo-fudud oo la raaco iyo casharro lagu horumarinayo wax soo saarka iyo hufnaanta. Haddii aad tahay xirfadle khibrad leh ama bilow ah, Michael's blog wuxuu bixiyaa fikrado qiimo leh iyo talooyin wax ku ool ah si aad uga faa'iidaysato qalabkan software-ka ah ee muhiimka ah.