Nga Whakaaturanga Tonu (RegExp) i te Uiui Mana

Mēnā he paku mōhio koe ki ngā kīanga auau, karekau koe e hiahia ki te panui. Mena kaore koe i roto i te kaupapa, katahi ko nga korero (Regular Expressions = RegExp = "regexps" = "regulars") he reo kei reira, ma te whakamahi i nga tohu motuhake me nga ture, ka rapuhia nga waahanga iti e tika ana i roto i te tuhinga, ka tangohia. kua whakakapihia ranei ki etahi atu kuputuhi. He taputapu tino kaha, ataahua hoki tenei, he raupapa o te nui ake i era atu huarahi mahi me te tuhinga.

Kua whakamaramatia e au nga korero me te maha o nga tauira o te ao me pehea e taea ai e koe te taapiri i te tautoko korero ki a Excel ma te whakamahi i nga tonotono ngawari - mena kaore koe i panui i tenei tuhinga, ka tino taunaki ahau kia panui koe i mua i te haere tonu. Ka kitea e koe he maha nga mea hou, ka kii ahau 🙂

Heoi, kei te noho tuwhera tonu te patai - me pehea te taapiri i te kaha ki te whakamahi i nga korero auau i roto i te Power Query? Ko te Power Query, he pai ki a ia ano, ka taea e ia te mahi nui me te tuhinga (te tapahi, te whakapiri, te horoi, me etahi atu), engari ki te taea e koe te whakawhiti me te kaha o nga korero auau, he poma noa.

Kia aroha mai, karekau he mahi hanga-i roto mo te mahi tahi me RegExps i Power Query, a ko te awhina a Microsoft me te tautoko hangarau ka whakautu i tenei patai i te kino. Heoi ano, he huarahi mo tenei here 🙂

Te mauri o te tikanga

Ko te whakaaro matua he ngawari ki te whakama.

I roto i te rarangi o nga kaha o te Uiui Power kua hangaia, he mahi Tukutuku.Whārangi. He tino poto te whakaahuatanga o tenei mahi i runga i te pae awhina a Microsoft:

Nga Whakaaturanga Tonu (RegExp) i te Uiui Mana

Ka whakamaoritia, ko tenei: "Whakahokia nga ihirangi o te tuhinga HTML kua wehewehea ki roto i ona hanganga waahanga, me te ahua o te tuhinga katoa me tona tinana i muri i te tangohanga o nga tohu." Ko te whakaahuatanga, he pono.

I te nuinga o te wa ka whakamahia tenei mahi i te wa e kawemai ana i nga raraunga mai i te paetukutuku ka whakakapi aunoa, hei tauira, ka kowhiria e matou i te ripa Raraunga Whakahaua Mai i te Ipurangi (Raraunga — Mai i te paetukutuku). Ka hoatu e matou te mahi he wharangi paetukutuku hei tohenga, a ka whakahokia mai e ia nga ihirangi ki a matou i roto i te ahua o nga ripanga, i mua i te whakakore i nga tohu katoa.

He aha te awhina kaore e kii ko te taapiri atu ki te reo tohu HTML mahi Tukutuku.Whārangi e tautoko ana i nga tuhinga JavaScript, kei nga waahi katoa inaianei i runga i nga paetukutuku i runga ipurangi. A ko te JavaScript, kua kaha ki te mahi me nga korero i nga wa katoa me nga mahi hanga-i roto mo RegExps! Na ki te whakatinana i nga korero i roto i te Power Query, me whangai i nga mahi Tukutuku.Wharangi hei tohenga ki tetahi kaupapa JavaScript iti ka mahi i nga mahi katoa mo te Power Query.

He aha te ahua o te JavaScript parakore

He maha nga akoranga taipitopito mo te mahi me nga korero i roto i te JavaScript i runga i te Ipurangi (hei tauira, kotahi, e rua).

Hei poto me te ngawari, ka penei te ahua o te waehere JavaScript:

Nga Whakaaturanga Tonu (RegExp) i te Uiui Mana

Here:

  • var str = 'Utua nga pire 123 me te 789 mo te hotiti'; – hanga taurangi Whakaako ka tautapa ki te tuhinga puna ka wetewetehia e matou.
  • var tauira = /d+/gi; – hangahia he whakahuatanga auau ka hoatu ki roto i te taurangi tauira.

    Ka tīmata te kīanga ki te rītaha (/).

    Ko te kupu ake i konei, hei tauira, ko d+ e tu ana mo tetahi raupapa mati.

    Na roto i te hautau i muri i te whakahuatanga, he taapiri rapu (whakarereke) - ka taea te whakarite i roto i nga tikanga katoa:

    • g – ko te tikanga o te rapu i te ao, ara i muri i te kimi whakataetae, kaua e mutu, engari me haere tonu te rapu kia mutu ra ano te tuhinga. Ki te kore e tautuhia tenei whakahuri, ka whakahokia mai e taatau tuhinga te whakataetae tuatahi (123)
    • i – rapu me te kore whakaaro ki te take o nga reta
    • m - rapunga raina-maha (whakamahia ina wehea te tuhinga puna ki etahi rarangi)
  • var hua = str.match(tauira).hono(';'); – mahia he rapunga i roto i te tuhinga puna (Whakaako) mā te kīanga auau kua hoatu (tauira) ka hoatu nga hua ki roto i te taurangi hua, ka honoa ki te tohutoro ma te whakamahi i te whakahau uru
  • document.write(hua); – whakaatu i nga ihirangi o te taurangi hua

Kia mahara ano ko nga aho kuputuhi (kaore i te whakahua i nga wa katoa) i roto i te JavaScript kei roto i nga tohutoro, ehara i nga koruki i te mea kei roto i te Power Query, i te VBA ranei.

I te putanga, ka homai e tenei tuhinga nga tau katoa i kitea i roto i te tuhinga puna:

123, 789

Kua mutu te akoranga poto JavaScript, tena koutou katoa. Ko te tumanako ka whiwhi koe i te arorau 🙂

Ka noho tonu ki te whakawhiti i tenei hanga ki te Uiui Mana.

Rapu me te Tango i te Mahi Kuputuhi ma te Whakaaturanga Tonu i roto i te Uiui Mana

Ka mahia e matou nga mea e whai ake nei:

1. Whakatuwheratia te Excel ka waihangahia he Uiui Mana putua ki te ripa Raraunga – Tikina raraunga / Waihanga tono – Mai i etahi atu puna – Tono Putua (Raraunga — Tikina raraunga / Uiui Hou — Mai i etahi atu puna — Uiui Patea). Mena kei a koe he putanga tawhito o Excel 2010-2013 me te Uiui Mana karekau he whakaurunga, engari i whakauruhia hei taapiri motuhake, ka noho katoa enei ki te ripa Uiui ManaA kaore Raraunga.

2. I roto i te matapihi kau o te ētita uiui ka tuwhera, i te taha matau, tomo tonu te ingoa o to maatau mahi a meake nei (hei tauira, fxRegExpExtract)

Nga Whakaaturanga Tonu (RegExp) i te Uiui Mana

3. Me haere ki te ripa Tiro – Etita Arā Atu Anō (Tirohia — Etita Arā Atu Anō), ka whakakorehia e matou te M-waehere katoa o te tono kore ka whakapiri i te waehere o to maatau mahi nui ki reira:

Nga Whakaaturanga Tonu (RegExp) i te Uiui Mana

Kia mataara o ringaringa:

I te rarangi tuatahi, e kii ana matou ka toru nga tohenga kupu to taatau mahi: TXT – te tuhinga taketake e tātarihia ana, regex – tauira whakapuaki auau, rimurapa — te tohu tohu mo te whakaatu i nga hua.

I muri mai ka karangahia e matou te mahi Tukutuku.Whārangi, ka hanga i te waehere JavaScript i whakaahuatia i runga ake nei i roto i tana tautohe. Ka whakapiri me te whakakapi i a maatau tautohetohe rereke ki te waehere.

Mahinga:

[Raraunga]{0}[Tamariki]{0}[Tamariki]{1}[Kupu]{0}

… e hiahiatia ana kia “taka” ki te ripanga me nga hua e hiahiatia ana. Ko te kaupapa ko te mahi Tukutuku.Whārangi ko te mutunga, he maha nga ripanga kohanga e tukurua ana i te hanganga o te wharangi paetukutuku. Ki te kore tenei waahanga M-waehere, ka puta tenei mahi:

Nga Whakaaturanga Tonu (RegExp) i te Uiui Mana

… a he maha nga wa ka paato tatou i te kupu Ripanga, ka "taka" ki roto i nga ripanga kohanga tamariki i roto i nga pou tamariki:

Nga Whakaaturanga Tonu (RegExp) i te Uiui Mana

Hei utu mo enei korero katoa, ka tohu tonu matou i roto i te waehere o ta matou mahi i kohanga te ripanga me te pou (kuputuhi) e hiahia ana matou.

Anei nga mea ngaro katoa. Ka noho tonu ki te pehi i te paatene Mutu i te matapihi ētita matatau, i whakauruhia e matou to maatau waehere, a ka taea e koe te haere ki te tino reka - whakamatau i ta maatau mahi i te mahi.

Anei etahi tauira kakano e rua.

Tauira 1. Te tiki i te nama kaute me te ra mai i te whakaahuatanga utu

Kei a matou he tauākī peeke me te whakaahuatanga (te kaupapa) o nga utu, me tango e koe nga nama me nga ra o nga nama kua utua ki nga pou motuhake:

Nga Whakaaturanga Tonu (RegExp) i te Uiui Mana

Ka utaina e matou te ripanga ki roto i te Uiui Power i runga i te huarahi paerewa Raraunga – Mai i te Ripanga/Awhe (Raraunga — Na Ttaea/Ranahera).

Katahi ka taapirihia he pou tatau me ta maatau mahi ma Tāpiri Tīwae – Waea Whakaritea Mahi (Taapirihia te Tiwae — Tonoa te Taumahi Ritenga) ka tomo i ona tohenga:

Nga Whakaaturanga Tonu (RegExp) i te Uiui Mana

Hei korero auau (tohenga regex) tauira ka whakamahia e matou:

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

… i whakamaoritia ki te reo tangata te tikanga: 

tau mai i te 3 ki te 5 mati (tau kaute)

or

nga kongakonga o te ahua "tau moka-2 - tohu - nama moka-2 - tohu - nama moka-4", ara, nga ra o te ahua DD.MM.YYYY.

Hei tohu tohu (tohenga rimurapa) whakauruhia he tohu kopa.

I muri i te panui OK Ko ta maatau mahi makutu he tātari i nga raraunga tuatahi katoa e ai ki a maatau korero i ia wa, ka hanga he pou mo matou me nga tau kua kitea me nga ra o nga nama:

Nga Whakaaturanga Tonu (RegExp) i te Uiui Mana

Ka noho tonu ki te wehe ma te tohutoro ma te whakamahi i te whakahau Kāinga — Tīwae Ritua — Na te Kaiwehe (Kāinga — Tīwae wehewehe — Mā te kaiwehe) a ka whiwhi matou i ta matou i hiahia ai:

Nga Whakaaturanga Tonu (RegExp) i te Uiui Mana

Ataahua!

Tauira 2: Unuhia nga wahitau imeera mai i te tuhinga

Mehemea kei a tatou te ripanga e whai ake nei hei raraunga tuatahi:

Nga Whakaaturanga Tonu (RegExp) i te Uiui Mana

… mai i te wahi e hiahia ana matou ki te tango i nga wahitau imeera i kitea i reira (mo te maarama, i tohuhia e au ki te whero i roto i te tuhinga).

Pērā i te tauira o mua, ka utaina e matou te teepu ki te Uiui Power i roto i te huarahi paerewa ma Raraunga – Mai i te Ripanga/Awhe (Raraunga — Na Ttaea/Ranahera).

Katahi ka taapirihia he pou tatau me ta maatau mahi ma Tāpiri Tīwae – Waea Whakaritea Mahi (Taapirihia te Tiwae — Tonoa te Taumahi Ritenga) ka tomo i ona tohenga:

Nga Whakaaturanga Tonu (RegExp) i te Uiui Mana

He mahi uaua ake te tarai i nga wahitau imeera, a he maha nga korero mo nga momo momo momo moemoea hei whakaoti. I whakamahia e ahau tetahi o nga whiringa ngawari - ehara i te mea pai, engari he tino mahi i te nuinga o nga keehi:

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

Hei whakawehe (rimurapa) ka taea e koe te whakauru i te tohu tohu me te waahi.

Pāwhiritia te OK a ka whiwhi matou i tetahi pou me nga wahitau imeera i tangohia mai i te tuhinga taketake "pareti":

Nga Whakaaturanga Tonu (RegExp) i te Uiui Mana

Piaka!

PS

E ai ki te whakatauki: "Kaore he mea pai e kore e taea te whakapai ake." He hauhautanga a Power Uiui, a, ka honoa ki nga korero auau, ka homai he mana koretake me te ngawari ki te tukatuka i nga raraunga kuputuhi. Kei te tumanako ahau ka taapirihia e Microsoft te tautoko RegExp i roto i nga whakahoutanga Power Query me te Power BI me nga kanikani katoa o runga ake nei me te timipera ka waiho hei mea o mua. Ana, mo tenei wa, ae.

Kei te hiahia ano ahau ki te taapiri he pai ki te takaro me nga korero auau i runga i te pae https://regexr.com/ - tika i roto i te ētita ipurangi. Kei roto i te waahanga Tauira Hapori He maha nga waahanga kua rite mo nga wa katoa. Whakamatau - kei a koe nga mana katoa o nga kii korero i roto i te Power Query!

  • He aha nga korero auau (RegExp) me pehea te whakamahi i a Excel
  • Rapu kupu koretake i roto i te Uiui Mana
  • Te kohikohi ripanga mai i nga konae rereke ma te whakamahi i te Uiui Mana

Waiho i te Reply