Porohia te kuputuhi me nga korero auau (RegExp) ki Excel

Porohia te kuputuhi me nga korero auau (RegExp) ki ExcelKo tetahi o nga mahi e pau ana te wa me te whakapouri i te wa e mahi ana me te tuhinga i roto i te Excel peita – te poroporoaki i te “parareti” alphanumeric ki roto i nga waahanga me te tango i nga kongakonga e hiahiatia ana e tatou. Hei tauira:

  • te tango i te waehere zip mai i te wahitau (he pai mena kei te timatanga tonu te waehere poutui, engari me pehea?)
  • te kimi i te tau me te ra o te nama mai i te whakaahuatanga o te utu i roto i te tauākī peeke
  • te tangohanga o te TIN mai i nga whakaahuatanga motley o nga kamupene kei te rarangi o nga hoa
  • rapua he nama motoka, he nama tuhinga ranei kei te whakaahuatanga, aha atu.

I te nuinga o te waa, i muri i te hawhe haora o te kohi a-ringa i te tuhinga, ka timata nga whakaaro ki te whakaaunoa i tenei mahi (ina koa he nui nga raraunga). He maha nga otinga me nga tohu rereke o te uaua-pai:

  • whakamahi hanga-i roto i nga mahi kuputuhi Excel ki te rapu kupu-tapahi-kapia: LEVSIMV (MAU), RIGHT (RANGI), PSTR (waenganui), STsEPIT (TAHIA) me ona analogues, HE WHAKAMAHI (KOREUTU), HE WHAKAMAHI (TIKA) me etahi atu. He pai tenei tikanga mena he maamaa te whakaaro i roto i te tuhinga (hei tauira, ko te taurangi kei te timatanga o te wahitau i nga wa katoa). Ki te kore, ka nui ake te uaua o nga tauira, a, i etahi wa, ka tae mai ano ki nga raupapa raupapa, ka tino puhoi ki runga i nga tepu nui.
  • Mā te he rite ki te kaiwhakahaere ritenga kuputuhi mai i te Visual Basic i takai ki tetahi mahi tonotono ritenga. Ma tenei ka taea e koe te whakamahi i te rapu ngawari ake ma te whakamahi i nga tohu kaarika (*, #,?, me etahi atu.) Engari, kaore e taea e tenei taputapu te tango i te aho iti e hiahiatia ana mai i te tuhinga - tirohia anake mena kei roto.

I tua atu i nga korero i runga ake nei, tera ano tetahi atu huarahi e tino mohiotia ana i roto i nga porowhita kuiti o nga kaiwhakatakoto kaupapa ngaio, kaiwhakawhanake paetukutuku me etahi atu hangarau - koinei nga korero orite tonu (Whakaahua Tonu = RegExp = "regexps" = "rite tonu"). Maama noa, Ko te RegExp he reo ka whakamahia nga tohu motuhake me nga ture ki te rapu i nga aho iti e tika ana i roto i te tuhinga, te tango, te whakakapi ranei ki etahi atu tuhinga.. Ko nga korero auau he taputapu tino kaha, ataahua hoki e nui atu ana i era atu huarahi mahi me te tuhinga ma te raupapa o te rahi. He maha nga reo hootaka (C#, PHP, Perl, JavaScript…) me nga kaiwhakatika kupu (Word, Notepad++…) e tautoko ana i nga korero auau.

Ko Microsoft Excel kaore he tautoko RegExp mai i te pouaka, engari ka taea te whakatika ma te VBA. Whakatuwheratia te Kaiwhakatika Visual Basic mai i te ripa kaiwhakawhanake (Kaiwhakawhanake) he pokatata papapātuhi ranei alt+F11. Kātahi ka kōkuhu i te kōwae hōu mā te tahua Kōkuhu – Kōwae ka kape i te tuhinga o te mahi tonotono e whai ake nei ki reira:

Mahi Tūmatanui RegExpExtract(Kuputuhi Hei Aho, Tauira Hei Aho, Tuemi Kōwhiringa Hei Tauoti = 1) Hei Aho i te Hapa HaereTo ErrHandl Tautuhi regex = CreateObject("VBScript.RegExp") regex.Pattern = Tauira regex.Global = Pono Mēnā regex.Test (Kuputuhi) Katahi ka Tautuhia nga marite = regex.Execute(Text) RegExpExtract = matches.Item(Tuemi - 1) Puta Mahi Whakamutunga Ki te ErrHandl: RegExpExtract = CVErr(xlErrValue) Whakamutunga Mahi  

Ka taea e tatou te kati i te Visual Basic Editor ka hoki ki Excel ki te whakamatau i ta maatau waahanga hou. Ko tana wetereo e whai ake nei:

=RegExpExtract( Txt ; Tauira ; Tūemi )

te wahi

  • TXT – he pūtau me te kuputuhi e tirohia ana e matou, e hiahia ana matou ki te tango i te aho iti e hiahiatia ana
  • tauira – kopare (tauira) mo te rapu aho iti
  • Te nama take – te tau raupapa o te aho iti ka tangohia, mena he maha nga mea (mena kaore i tohua, ka whakaatuhia te putanga tuatahi)

Ko te mea tino pai ki konei, ko te Tauira - he aho tauira o nga tohu motuhake "i roto i te reo" o RegExp, e whakaatu ana he aha me te waahi e hiahia ana matou ki te kimi. Anei nga mea tino taketake hei timata koe:

 tauira  Whakaahuatanga
 . Ko te mea ngawari he ira. Ka taurite ki tetahi ahuatanga o te tauira i te waahi kua tohua.
 s Te ahua o te ahua he mokowā (mokowā, ripa, wehenga raina ranei).
 S
He momo anti-rereke o te tauira o mua, araa ko nga ahuatanga mokowā-kore.
 d
Tetahi tau
 D
He momo anti-rereke o te mea o mua, ara ko tetahi mati KORE
 w Tetahi pūāhua Latina (AZ), mati, tāraro rānei
 W He rereke rereke o te mea o mua, arä, ehara i te Latin, ehara i te nama, ehara i te tohu.
[pūāhua] I roto i nga taiapa tapawha, ka taea e koe te tautuhi i tetahi, neke atu ranei nga tohu e whakaaetia ana ki te waahi kua tohua i roto i te kuputuhi. Hei tauira Art ka taurite ki tetahi o nga kupu: ripanga or heamana.

Kare hoki e taea e koe te tatau pūāhua, engari me whakarite hei awhe kua wehea e te tohuhono, [ABDCDEF] tuhituhi [AF]. hei utu ranei [4567] whakamōhio [-4 7]. Hei tauira, ki te tohu i nga tohu Cyrillic katoa, ka taea e koe te whakamahi i te tauira [a-yaA-YayoYo].

[^pūāhua] Mena i muri i te awhi tapawha whakatuwhera ka taapirihia te tohu "potae" ^, ka riro i te huinga te tikanga rereke - i te waahi kua tohua i roto i te tuhinga, ka whakaaetia nga tohu katoa, engari mo nga mea kua raarangi. Ae, tauira [^ЖМ]ut ka kitea Ara or Te matū or warewareengari kaore Te mataku or mutt, hei tauira
 | Kaiwhakamahi Boolean OR (OR) ki te tirotiro mo tetahi o nga paearu kua tohua. Hei tauira (meTai|sahakoa|nama) ka rapu i te tuhinga mo tetahi o nga kupu kua tohua. Ko te tikanga, ko te huinga o nga whiringa kei roto i nga reu.
 ^ Te timatanga o te raina
 $ Whakamutunga o te raina
 b Mutunga o te kupu

Mena kei te rapu tatou i etahi momo tohu, hei tauira, he ono-mati tohu poutāpeta, toru-reta ranei nga tohu hua, katahi ka haere mai ki te whakaora kaihihi or kaihihi he whakaaturanga motuhake e tohu ana i te maha o nga tohu hei rapu. Ka whakamahia nga inenga ki te ahua ka puta mai i mua:

  Quantor  Whakaahuatanga
 ? Kore, kotahi te takanga. Hei tauira .? ko te tikanga ko tetahi ahua, ko te ngaro ranei.
 + Kotahi, neke atu ranei nga whakaurunga. Hei tauira d+ te tikanga he maha o nga mati (arā, he tau kei waenga i te 0 me te mutunga kore).
 * Kore, nui ake ranei nga huihuinga, ara, ahakoa te rahinga. Na s* te tikanga he maha nga waahi, kaore ranei he waahi.
{tau} or

{nama1,nama2}

Mena ka hiahia koe ki te tautuhi i te maha o nga huihuinga kua tino tautuhia, ka tohua ki roto i nga taiapa mingimingi. Hei tauira d{6} te tikanga kia ono nga mati, me te tauira s{2,5} – e rua ki te rima nga waahi

Inaianei me neke atu ki te waahanga tino whakamere – he tātaritanga mo te whakamahinga o te mahi hanga me nga mea i akohia e matou mo nga tauira mo nga tauira whaihua o te ao.

Te tango tau mai i te kuputuhi

Hei timata, me tātarihia tetahi keehi ngawari - me tango e koe te nama tuatahi mai i te pareti alphanumeric, hei tauira, te mana o nga taputapu hiko kore e mutu mai i te rarangi utu:

Porohia te kuputuhi me nga korero auau (RegExp) ki Excel

He ngawari te arorau i muri i te korero auau: d te tikanga o tetahi mati, me te ine + e kii ana kia kotahi, neke atu ranei to ratou nama. Ko te iti-rua i mua i te mahi ka hiahiatia kia "i runga i te rere" te huri i nga tohu kua tangohia ki te tau katoa mai i te tau-rite-tuhi.

Waeherehere

I te titiro tuatahi, he ngawari nga mea katoa i konei - e rapu ana matou kia ono nga mati i te rarangi. Ka whakamahia e matou he tohu motuhake d mo te mati me te ine 6 {} mō te maha o ngā pūāhua:

Porohia te kuputuhi me nga korero auau (RegExp) ki Excel

Heoi ano, ka taea te ahuatanga ina, kei te taha maui o te taurangi i te rarangi, he huinga tau nui kei te rarangi (tau waea, TIN, putea peeke, me etahi atu.) Na ka toia e to maatau waa te 6 tuatahi. mati mai i a ia, ara e kore e mahi tika:

Porohia te kuputuhi me nga korero auau (RegExp) ki Excel

Kia kore ai e puta mai tenei, me taapiri he mea whakarereke huri noa i nga tapa o to taatau korero b e tohu ana i te mutunga o te kupu. Ma tenei ka marama ki a Excel ko te wahanga (taupu) e hiahiatia ana he kupu motuhake, kaua ko tetahi atu waahanga (tau waea):

Porohia te kuputuhi me nga korero auau (RegExp) ki Excel

Waea

Ko te raruraru ki te kimi i te nama waea i roto i te tuhinga he maha nga whiringa mo te tuhi i nga tau - me te kore tohuhono, na roto i nga waahi, me te kore ranei he waehere rohe kei roto i nga taiapa, me era atu. tuatahi horoia enei tohu katoa mai i te tuhinga puna ma te whakamahi i nga mahi maha HEPETOPA (WAHI KAUPAPA)kia piri tahi ai ki te katoa, katahi ka noho tahi me te tikanga o mua d{11} unuhia kia 11 nga mati i te rarangi:

Porohia te kuputuhi me nga korero auau (RegExp) ki Excel

ITN

He iti ake te uaua i konei, na te mea ko te TIN (i To Tatou Whenua) ka taea te 10-mati (mo nga hinonga ture) 12-nama ranei (mo te tangata takitahi). Mena kaore koe e kite i te he, katahi ka taea te makona ki te waa d{10,12}, engari, ko te tino korero, ka unuhia nga tau katoa mai i te 10 ki te 12 nga tohu, ara, ka pohehe te whakauru i nga mati 11. He pai ake te whakamahi i nga tauira e rua e honoa ana e te kaiwhakahaere arorau RĀNEI | (pae poutū):

Porohia te kuputuhi me nga korero auau (RegExp) ki Excel

Kia mahara mai i roto i te patai ka rapu tuatahi maatau mo nga nama 12-bit, katahi ano mo nga nama 10-bit. Mena ka tuhia e tatou o taatau korero ki tetahi atu huarahi, katahi ka unuhia mo te katoa, ahakoa nga TIN 12-bit roa, ko nga tohu tuatahi 10 anake. Arā, i muri i te tiimatanga o te ahuatanga tuatahi, kaore ano kia mahia etahi atu manatoko:

Porohia te kuputuhi me nga korero auau (RegExp) ki Excel

Koinei te rereketanga nui i waenga i te kaiwhakahaere | mai i te mahinga arorau o Excel paerewa OR (OR), ko te whakatikatika i nga tautohetohe kaore e huri i te hua.

SKU Hua

I roto i te maha o nga kamupene, ka tohua nga tohu tohu motuhake ki nga taonga me nga ratonga - nga tuhinga, nga waehere SAP, nga SKU, me etahi atu. Hei tauira, ki te mohio tatou ko a tatou tuhinga e toru nga reta Ingarihi matua, he tohuhono me te tau mati-toru ka whai ake, na:

Porohia te kuputuhi me nga korero auau (RegExp) ki Excel

He ngawari te arorau i muri i te tauira. [AZ] – ko te tikanga o nga reta matua o te reta Latina. Ko te inenga e whai ake nei 3 {} e mea ana he mea nui ki a matou kia toru tonu nga reta penei. Whai muri i te tohuhono, e tatari ana tatou mo nga mati e toru, no reira ka taapiri atu ki te mutunga d{3}

Nga moni moni

He rite ki te waahanga o mua, ka taea e koe te tango i nga utu (utu, VAT ...) mai i te whakaahuatanga o nga taonga. Mena ka tohuhia nga moni moni, hei tauira, ki te tohuhono, na:

Porohia te kuputuhi me nga korero auau (RegExp) ki Excel

tauira d me te inenga + ka rapu i tetahi tau tae noa ki te tohuhono, a d{2} ka kimi pene (e rua mati) i muri.

Mena ka hiahia koe ki te tango ehara i nga utu, engari ko te VAT, katahi ka taea e koe te whakamahi i te tohenga tuatoru o ta maatau mahi RegExpExtract, e tohu ana i te tau ordinal o te huānga ka tangohia. A, o te akoranga, ka taea e koe te whakakapi i te mahi HEPETOPA (WAHI KAUPAPA) i roto i nga hua, tohuhono ki te whakawehe ira paerewa ka taapirihia he haunga rua i te timatanga kia whakamaoritia e Excel te VAT kua kitea hei tau noa:

Porohia te kuputuhi me nga korero auau (RegExp) ki Excel

Nga nama pereti waka

Mena karekau koe e kawe waka motuhake, waka tere me etahi atu motopaika, katahi ka tohua te nama motuka paerewa kia rite ki te kaupapa "reta - toru tau - rua reta - waehere rohe". I tua atu, ko te waehere rohe ka taea te 2-3-mati ranei, a ko nga mea e rite ana te ahua ki te reta Latin ka whakamahia hei reta. No reira, ko nga kupu e whai ake nei ka awhina tatou ki te tango tau mai i te tuhinga:

Porohia te kuputuhi me nga korero auau (RegExp) ki Excel

Te wā

Hei tango i te wa i roto i te whakatakotoranga HH:MM, he pai te kii auau e whai ake nei:

Porohia te kuputuhi me nga korero auau (RegExp) ki Excel

I muri i te wahanga o te koroni [0-5]d, i te mea he ngawari ki te whakaaro, ka whakatakotohia he nama ki te awhe 00-59. I mua i te koroni i roto i te reu, e rua nga tauira e mahi ana, ka wehea e te OR (pipa) arorau:

  • [0-1]d – ahakoa tau kei roto i te awhe 00-19
  • 2[0-3] – ahakoa tau kei roto i te awhe 20-23

Ki te hua ka puta, ka taea e koe te whakamahi i te mahinga Excel paerewa TIME (TAMA)ki te huri ki te whakatakotoranga taima e marama ana ki te hotaka, e tika ana mo etahi atu tatauranga.

Taki Kupuhipa

Me tirohia e tatou te rarangi o nga kupuhipa i hangaia e nga kaiwhakamahi mo te tika. E ai ki o maatau ture, ka taea e nga kupuhipa te mau reta Ingarihi (puriki iti, pumatua ranei) me nga nama. Kaore e whakaaetia nga waahi, nga tohu me etahi atu tohu tohu.

Ka taea te whakarite te arowhai ma te whakamahi i nga korero ngawari e whai ake nei:

Porohia te kuputuhi me nga korero auau (RegExp) ki Excel

Inaa, na roto i taua tauira ka hiahia matou i waenga i te timatanga (^) ka mutu ($) i roto i ta maatau tuhinga he tohu anake mai i te huinga kua hoatu ki roto i nga taiapa tapawha. Mena ka hiahia koe ki te tirotiro i te roa o te kupuhipa (hei tauira, neke atu i te 6 nga tohu), katahi ko te ine + ka taea te whakakapi e te waahi "ono neke atu ranei" i te ahua {6,}:

Porohia te kuputuhi me nga korero auau (RegExp) ki Excel

Taone mai i te waahi noho

Me kii me toia te taone mai i te pae wāhitau. Ka awhina te kaupapa auau, te tango i nga tuhinga mai i te "g." ki te piko e whai ake nei:

Porohia te kuputuhi me nga korero auau (RegExp) ki Excel

Kia ata titiro tatou ki tenei tauira.

Mena kua panui koe i te tuhinga o runga ake nei, kua mohio koe he tikanga motuhake etahi o nga tohu i roto i nga korero (waa, whetu, tohu taara, me etahi atu). Mena ka hiahia koe ki te rapu i enei tohu, katahi ka tohuhia e koe he whiu whakamuri (i etahi wa ka kiia whakangungu). Na reira, i te wa e rapu ana mo te kongakonga "g." me tuhi tatou i roto i nga korero auau Mr. ki te rapu tatou mo te tāpiri, ka + etc

Ko nga tohu e rua e whai ake nei i roto i ta maatau tauira, te ira me te whetūriki ine, ka tu mo te maha o nga momo tohu, ara he ingoa taone.

He piko kei te pito o te tauira, na te mea e rapu ana matou i nga kupu mai i te "g." ki te piko. Engari he maha nga tohu kei roto i te tuhinga, tika? Ehara i te mea i muri i te taone anake, engari i muri ano i te tiriti, i nga whare, me era atu. Ko tehea o ratou ka mutu ta matou tono? Koia te tohu patai. Ki te kore, ka unuhia e a maatau korero te aho roa rawa atu:

Porohia te kuputuhi me nga korero auau (RegExp) ki Excel

I runga i nga korero o ia wa, ko te ahua o taua tauira he "hoa". Hei whakatika i te ahuatanga, ka hiahiatia he tohu patai - ka waiho te inenga i muri mai ka "kaikai" - a ko ta maatau patai ka tango i te tuhinga ki runga noa ki te piko porotiti tuatahi i muri i te "g.":

Porohia te kuputuhi me nga korero auau (RegExp) ki Excel

Ingoa kōnae mai i te ara katoa

Ko tetahi atu ahuatanga tino noa ko te tango i te ingoa konae mai i te ara katoa. Ko te ahua ngawari o te ahua ka awhina i konei:

Porohia te kuputuhi me nga korero auau (RegExp) ki Excel

Ko te mahi i konei ko te rapunga, inaa, ka puta ke atu - mai i te mutunga ki te timatanga, na te mea kei te mutunga o ta maatau tauira $, a kei te rapu matou i nga mea katoa i mua i tera ki te whakamuri tuatahi mai i te taha matau. Ka mawhiti te whiu whakamuri, penei i te ira o te tauira o mua.

PS

"Ki te mutunga" E hiahia ana ahau ki te whakamarama ko nga mea katoa i runga ake nei he waahanga iti o nga waahanga katoa e whakaratohia ana e nga korero auau. He maha nga ahuatanga motuhake me nga ture mo to raatau whakamahinga, a kua tuhia nga pukapuka katoa mo tenei kaupapa (Ka tūtohu ahau mo tenei waahanga mo te timatanga). I tetahi ara, ko te tuhi korero auau he tata toi. Tata ki nga wa katoa, ka taea te whakapai ake, te taapiri atu ranei i tetahi kupu hanga noa, kia huatau ake, ka taea ranei te mahi me te whānuitanga o nga raraunga whakauru.

Hei wetewete me te whakamaarama i nga korero a etahi atu, te patuiro ranei i a koe ake, he maha nga ratonga ipurangi ngawari: RegEx101, RegExr me te ake

Heoi ano, kaore nga ahuatanga katoa o nga korero matarohia e tautokohia ana i roto i te VBA (hei tauira, te rapu whakamuri, nga karaehe POSIX ranei) ka taea te mahi ki a Cyrillic, engari ki taku whakaaro ko nga mea kei reira ka nui mo te wa tuatahi hei pai ki a koe.

Mena kare koe i te tauhou ki te kaupapa, a he mea ano taau hei tiri, waiho nga korero i te wa e mahi ana koe i te Excel i roto i nga korero i raro nei. He pai te whakaaro kotahi, engari e rua nga putu he takirua!

  • Te whakakapi me te horoi i nga tuhinga ki te mahi SUBSTITUTE
  • Rapua me te whakanui i nga tohu Latin i roto i te tuhinga
  • Rapua te kuputuhi rite tata (Ivanov = Ivonov = Ivanof, etc.)

Waiho i te Reply