Tibaaxaha Joogtada ah (RegExp) ee Query Query

Haddii aad ugu yaraan wax yar taqaano tibaaxaha caadiga ah, markaa uma baahnid inaad xayeysiiso. Haddii aadan ku jirin mawduuca, markaa tibaaxaha caadiga ah (Regular Expressions = RegExp = "regexps" = "regulars") waa luqad, iyadoo la adeegsanayo xarfo iyo xeerar gaar ah, xaraf-hoosaadyada lagama maarmaanka ah ayaa laga raadiyaa qoraalka, laga soo saaro ama lagu beddelo qoraal kale . Tani waa qalab aad u xoog badan oo qurux badan, amar weyn oo ka sarreeya dhammaan hababka kale ee qoraalka.

Waxaan mar hore si faahfaahsan u sharraxay iyo tusaalooyin badan oo nolosha ah sida aad ugu dari karto taageerada hadalka joogtada ah ee Excel adoo isticmaalaya macros fudud - haddii aadan akhrin maqaalkan, waxaan aad ugu talinayaa inaad akhrido ka hor intaadan sii wadin. Waxaad ogaan doontaa waxyaabo badan oo cusub, waxaan dammaanad qaadayaa 🙂

Si kastaba ha ahaatee, su'aasha ayaa weli furan - sida loogu daro awoodda isticmaalka tibaaxaha caadiga ah ee Query Query? Query Query, dabcan, way fiican tahay iskeed waxayna wax badan ku samayn kartaa qoraalka (goynta, dhejinta, nadiifinta, iwm.), laakiin haddii aad ka gudbi karto awoodda tibaaxaha caadiga ah, waxay noqon lahayd bam kaliya.

Nasiib darrose, ma jiraan hawlo ku dhisan la shaqaynta RegExps ee Query Query, iyo caawinta Microsoft ee rasmiga ah iyo taageerada farsamada ayaa su'aashan si xun uga jawaaba. Si kastaba ha ahaatee, waxaa jira hab ku wareegsan xaddidan 🙂

Nuxurka habka

Fikradda ugu weyn waa sahlan tahay in la ceebeeyo.

Liiska ku dhex jira awoodaha Query Query, waxa jira hawl Shabakadda. Sharaxaada shaqadan ee goobta rasmiga ah ee caawinta Microsoft aad bay u kooban tahay:

Tibaaxaha Joogtada ah (RegExp) ee Query Query

La turjumay, tani waxay noqonaysaa: "Waxay ku soo celisaa waxa ku jira dukumeenti HTML ah oo la jejebiyey qaab dhismeedkiisa, iyo sidoo kale matalaadda dukumeentiga oo dhammaystiran iyo jidhkiisa ka dib marka calaamadaha la saaro." Si-sidaas sifaad ah, si daacad ah.

Caadi ahaan shaqadan waxaa loo adeegsadaa marka xogta laga soo dejinayo shabakadda oo si toos ah ayaa loo beddelaa, tusaale ahaan, marka aan dooranno tab. Data Command Laga soo bilaabo internetka (Xogta - Ka timid shabakadda). Waxaan siinaa shaqada bogga shabakadda sida dood ahaan, oo waxay nagu soo celisaa waxa ku jira qaabka miisaska, iyadoo horay u nadiifisay dhammaan tagsyada.

Waxa aanay caawimadu odhan waa taas marka lagu daro luqadda calaamadaynta HTML function Shabakadda waxay taageertaa qoraalada JavaScript, kaas oo hadda meel walba ku yaal mareegaha internetka. Iyo JavaScript, markeeda, ayaa had iyo jeer awood u leh inay la shaqeyso tibaaxaha caadiga ah waxayna leedahay hawlo gudaha ah oo loogu talagalay RegExps! Markaa si loo hirgeliyo tibaaxaha joogtada ah ee Query Query, waxaan u baahan doonaa inaan quudinno Shabakadda Shabakadda.Shaqaalaha bogga sida doodda barnaamijka JavaScript yar oo qaban doona dhammaan shaqada Query Query.

Sida ay ugu egtahay JavaScript saafi ah

Waxaa jira casharro badan oo faahfaahsan oo ku saabsan la shaqeynta tibaaxaha caadiga ah ee JavaScript ee internetka (tusaale, hal, laba).

Marka la soo koobo oo la fududeeyo, koodka JavaScript wuxuu u ekaan doonaa sidan:

Tibaaxaha Joogtada ah (RegExp) ee Query Query

Halkan:

  • var str = 'Biil biilasha 123 iyo 789 ee sausage'; – samee doorsoome str una qoondee qoraalka isha ee aan ku falanqeyn doono.
  • qaabka var = /d+/gi; – samee odhaah joogto ah oo ku rid doorsoome qaab.

    Odhaahdu waxay ku bilaabataa dharbaaxo (/).

    Odhaahda lafteeda halkan, tusaale ahaan, waa d+ waxay u taagan tahay taxane kasta oo lambaro ah.

    Iyada oo loo marayo jajabka ka dambeeya muujinta, waxaa jira cabbiraadyo raadin dheeraad ah (wax-beddeleyaal) - waxaa lagu qeexi karaa hab kasta:

    • g - macnaheedu waa raadinta caalamiga ah, ie ka dib markaad hesho ciyaar, waa inaadan joojin, laakiin sii wad raadinta ilaa dhamaadka qoraalka. Haddii aan wax ka beddelahaan la dejin, markaas qoraalkayagu wuxuu soo celin doonaa oo keliya kulanka ugu horreeya (123)
    • i - raadi iyada oo aan loo eegin kiiska xarfaha
    • m - Raadinta khadadka badan (waxaa la adeegsadaa marka qoraalka isha loo qaybiyo dhowr sadar)
  • var natiijada = str.match (qaab) ku biir (';'); - samee raadinta qoraalka isha (str) iyadoo la adeegsanayo tibaaxaha joogtada ah (qaab) oo natiijada ku dheji doorsoome natiijada, iyaga oo ku dhejinaya hal-koob iyaga oo isticmaalaya amarka biiro
  • document.qor (natiijada); - muuji waxa ku jira doorsoomiyaha natiijada

Sidoo kale ogow in xargaha qoraalka ah (marka laga reebo tibaaxaha caadiga ah) ee JavaScript ay ku lifaaqan yihiin qoraallada, ma aha xigashooyin sida ay ugu jiraan Query Query ama VBA.

Marka la soo saaro, qoraalkani wuxuu ina siin doonaa natiijada dhammaan tirooyinka laga helay qoraalka isha:

123, 789

Koorasyada gaaban ee JavaScript waa dhamaaday, mahadsanid dhammaan. Waxaan rajeynayaa inaad hesho macquulka 🙂

Way hadhay in lagu wareejiyo dhismahan Query Query.

Ka raadi oo ka saar shaqada qoraalka adoo si joogto ah u muujinaya quwadda weydiinta

Waxaan samaynaa kuwan soo socda:

1. Fur Excel oo ku samee su'aal awoodeed cusub oo madhan tab Xogta - Hel xog / Abuur codsi - Ilaha kale - Codsi faaruq ah (Xogta - Hel xog / waydiimo cusub - ilo kale - waydiin madhan). Haddii aad haysato nooc hore oo ah Excel 2010-2013 iyo Query Query ma aadan haysan wax ku dhex-dhismay, laakiin waxaa lagu rakibay sidii wax-ku-dar gaar ah, markaa waxaas oo dhan waxay ku jiri doonaan tab Weydiinta AwoodaMana aha Data.

2. Daaqadda madhan ee tafatiraha weydiinta ee furmay, guddiga saxda ah, isla markiiba geli magaca shaqadayada mustaqbalka (tusaale, fxRegExpExtract)

Tibaaxaha Joogtada ah (RegExp) ee Query Query

3. Aan tagno tab View – Tifaftir sare (Arag - Tifaftiraha Sare), Waxaan tir tirnaa dhammaan M-koodka codsiga madhan oo aanu ku dhejinnay koodhka shaqadayada sare ee halkaas:

Tibaaxaha Joogtada ah (RegExp) ee Query Query

Daawo gacmahaaga:

Sadarka koowaad, waxaan leenahay shaqadayadu waxay yeelan doontaa saddex dood qoraal ah: txt - qoraalka asalka ah oo la lafaguray, regex - qaabka odhaahda caadiga ah, delim - dabeecadda xaddidaysa muujinta natiijooyinka.

Marka xigta waxaan u yeernaa shaqada Shabakadda, samaynta koodka JavaScript ee kor lagu sharaxay dooddiisa. Waxaan ku dhejinnaa oo ku beddelnaa doodahayada doorsooma ee koodka.

Jajab:

[Xogta]{0}[Caruur]{0}[Caruur]{1}[Qoraalka]{0}

… waxaa loo baahan yahay si loo "ku dhaco" miiska natiijooyinka aan u baahanahay. Ujeedadu waa in shaqada Shabakadda natiijadu waxay tahay, waxay soo saartaa dhowr miisas buul leh oo soo noqnoqda qaab dhismeedka bogga shabakadda. La'aanteed qaybtan M-code, shaqadayadu waxay soo saari doontaa sidan:

Tibaaxaha Joogtada ah (RegExp) ee Query Query

… oo waa in aan dhowr jeer riixnaa ereyga Shaxda, si isdaba joog ah "ku dhacaya" miisaska carruurta ee tiirarka Carruurta:

Tibaaxaha Joogtada ah (RegExp) ee Query Query

Halkii xigashadan oo dhan, waxaan isla markiiba ku muujineynaa koodka shaqadayada kaas oo ku yaal miiska iyo tiirka (Text) waan u baahanahay.

Halkan, dhab ahaantii, waa dhammaan siraha. Way hadhaysaa inaad riixdo badhanka Finish daaqadda tifaftir sare, Meesha aan galnay koodkayaga, oo aad sii wadi karto tan ugu macaan - isku day shaqadayada shaqada.

Waa kuwan dhowr tusaale oo abuur ah.

Tusaale 1. Soo celinta lambarka akoontiga iyo taariikhda sharaxaadda lacag bixinta

Waxaan haynaa bayaan bangi oo leh sharaxaad (ujeedo) lacag-bixineed, halkaas oo aad u baahan tahay inaad kala soo baxdo lambarada iyo taariikhaha qaansheegadka la bixiyay oo loo kala qaybiyo tiirar kala duwan:

Tibaaxaha Joogtada ah (RegExp) ee Query Query

Waxaan miiska ku dhejineynaa Query Query sida caadiga ah Xogta - Laga soo bilaabo Shaxda/Range (Xogta - Laga soo bilaabo Tkarti/RMalag).

Kadibna waxaan ku darnaa tiir xisaabeed oo leh shaqadeena iyada oo loo marayo Ku dar tiirka - Wac shaqada gaarka ah (Ku dar Sadar - U yeedh shaqada gaarka ah) oo dooddeeda geli:

Tibaaxaha Joogtada ah (RegExp) ee Query Query

Sida hadal joogto ah (dood regextemplate waxaan isticmaalnaa:

(d{3,5}|d{2}.d{2}.d{4})

… loo turjumay luqadda aadanaha macnaha: 

lambarada laga bilaabo 3 ilaa 5 nambar (lambarada xisaabta)

or

jajabyada foomka "2-bit number - point - 2-bit number - point - 4-bit number", taas oo ah, taariikhaha foomka DD.MM.YYYY.

Sida dabeecadda xaddidan (dood delim) geli semicolon.

Ka dib guji OK Hawshayada sixirku waxay falanqaysaa dhammaan xogta bilowga ah iyadoo loo eegayo muujintayada joogtada ah waxayna noo samaysaa tiir leh tirooyinka la helay iyo taariikhda qaansheegyada:

Tibaaxaha Joogtada ah (RegExp) ee Query Query

Way hadhaysaa in lagu kala saaro semicolon iyadoo la isticmaalayo amarka Guriga - Tiirka Kala Qaybsan - Waxaa qoray Xaddidaad (Guriga - Tiirka kala qaybsan - Xaddidan) waxaana helnaa waxaan rabnay:

Tibaaxaha Joogtada ah (RegExp) ee Query Query

Qurux!

Tusaalaha 2: Ka saar ciwaannada iimaylka qoraalka

Ka soo qaad in aanu haysano shaxda soo socota sida xogta hore:

Tibaaxaha Joogtada ah (RegExp) ee Query Query

… halka aan uga baahannahay inaan ka soo saarno cinwaannada iimaylka ee halkaas laga helay (si ay u caddaadaan, waxaan ku iftiimiyay qoraalka casaanka ah).

Sida tusaalihii hore, waxaan ku shubnaa miiska Query Query habka caadiga ah iyada oo loo marayo Xogta - Laga soo bilaabo Shaxda/Range (Xogta - Laga soo bilaabo Tkarti/RMalag).

Kadibna waxaan ku darnaa tiir xisaabeed oo leh shaqadeena iyada oo loo marayo Ku dar tiirka - Wac shaqada gaarka ah (Ku dar Sadar - U yeedh shaqada gaarka ah) oo dooddeeda geli:

Tibaaxaha Joogtada ah (RegExp) ee Query Query

Baarista ciwaanada iimaylka waa hawl aad u adag waxaana jira tiro badan oo tibaaxo joogto ah oo heerar kala duwan oo qarow ah si loo xalliyo. Waxaan isticmaalay mid ka mid ah xulashooyinka fudud - maahan mid ku habboon, laakiin si fiican ayaan u shaqeynayaa kiisaska intooda badan:

[w|.|-]*@w*.[w|.]*

Sida kala soocida (delim) waxaad geli kartaa meel-sare iyo meel bannaan.

Guji OK waxaana helnaa tiir ay ku jiraan ciwaanno iimayl ah oo laga soo saaray qoraalkii asalka ahaa "boorash":

Tibaaxaha Joogtada ah (RegExp) ee Query Query

Sixir!

PS

Maahmaahdii ayaa tidhaahda: "Ma jiro wax sidan u wanaagsan oo aan laga sii wanajin karin." Query Query waa qabow keligiis, iyo marka lagu daro tibaaxaha caadiga ah, waxay ina siinaysaa awood aan macquul ahayn oo dhan iyo dabacsanaan si loo habeeyo xog kasta oo qoraal ah. Waxaan rajeynayaa in Microsoft ay maalin uun ku dari doonto taageerada RegExp ee Query Query iyo cusboonaysiinta Power BI oo dhammaan qoob-ka-ciyaarka kor ku xusan ee dafku ay noqon doonaan wax la soo dhaafay. Hagaag, hadda, haa.

Waxaan sidoo kale rabaa inaan ku daro inay ku habboon tahay in lagu ciyaaro tibaaxaha caadiga ah ee goobta https://regexr.com/ - saxda ah ee tifaftiraha internetka. Halkaa qaybta Qaababka Bulshada Waxa jira tiro aad u tiro badan oo xilliyo caadi ah oo diyaar ah oo wakhti kasta ah. Tijaabi - dhammaan awoodda tibaaxaha caadiga ah ayaa hadda ku jira adeeggaaga Query Query!

  • Waa maxay tibaaxaha caadiga ah (RegExp) iyo sida loogu isticmaalo Excel
  • Raadinta qoraalka dawakhsan ee Query Query
  • Ku ururinta miisaska faylal kala duwan iyadoo la adeegsanayo Query Query

Leave a Reply