Awọn ikosile deede (RegExp) ni Ibeere Agbara

Ti o ba wa ni o kere diẹ faramọ pẹlu awọn ikosile deede, lẹhinna o ko nilo lati polowo wọn. Ti o ko ba si ni koko-ọrọ naa, lẹhinna awọn ikosile deede (Awọn ikosile deede = RegExp = “regexps” = “regulars”) jẹ ede nibiti, ni lilo awọn kikọ pataki ati awọn ofin, awọn gbolohun ọrọ pataki ti wa ninu ọrọ naa, wọn ti yọ jade. tabi rọpo pẹlu ọrọ miiran. Eyi jẹ ohun elo ti o lagbara pupọ ati ẹwa, aṣẹ titobi ju gbogbo awọn ọna miiran ti ṣiṣẹ pẹlu ọrọ.

Mo ti ṣapejuwe tẹlẹ ni awọn alaye ati pẹlu ọpọlọpọ awọn apẹẹrẹ lati igbesi aye bii o ṣe le ṣafikun atilẹyin ikosile deede si Excel nipa lilo awọn macros ti o rọrun - ti o ko ba ka nkan yii, Mo ṣeduro gaan pe ki o ka ṣaaju ki o to tẹsiwaju. O yoo iwari a pupo ti titun ohun, Mo ẹri 🙂

Sibẹsibẹ, ibeere naa wa ni ṣiṣi - bawo ni a ṣe le ṣafikun agbara lati lo awọn ikosile deede ni Ibeere Agbara? Ibeere agbara, dajudaju, dara lori ara rẹ ati pe o le ṣe pupọ pẹlu ọrọ (gige, gluing, cleaning, bbl), ṣugbọn ti o ba le kọja rẹ pẹlu agbara awọn ikosile deede, yoo jẹ bombu nikan.

Laanu, ko si awọn iṣẹ ti a ṣe sinu fun ṣiṣẹ pẹlu RegExps ni Ibeere Agbara, ati iranlọwọ Microsoft osise ati atilẹyin imọ-ẹrọ dahun ibeere yii ni odi. Sibẹsibẹ, ọna kan wa ni ayika aropin yii 🙂

Ero ti ọna naa

Ero akọkọ jẹ rọrun lati ṣe itiju.

Ninu atokọ ti awọn agbara Ibeere Agbara ti a ṣe sinu rẹ, iṣẹ kan wa Oju iwe webu. Apejuwe iṣẹ yii lori aaye iranlọwọ Microsoft osise jẹ ṣoki pupọ:

Awọn ikosile deede (RegExp) ni Ibeere Agbara

Itumọ, eyi yoo jẹ: “Mu pada awọn akoonu inu iwe HTML ti a fọ ​​lulẹ sinu awọn ẹya paati rẹ, bakanna bi aṣoju ti iwe pipe ati ara rẹ lẹhin ti o ti yọ awọn ami kuro.” Apejuwe bẹ-bẹ, nitootọ.

Nigbagbogbo a lo iṣẹ yii nigba gbigbe data wọle lati oju opo wẹẹbu ati rọpo laifọwọyi, fun apẹẹrẹ, nigba ti a yan lori taabu data pipaṣẹ Lati Intanẹẹti (Data - Lati oju opo wẹẹbu). A fun iṣẹ naa ni oju-iwe wẹẹbu kan bi ariyanjiyan, ati pe o da awọn akoonu rẹ pada si wa ni irisi awọn tabili, ti yọ gbogbo awọn afi tẹlẹ kuro.

Ohun ti iranlọwọ naa KO sọ ni pe ni afikun si ede isamisi HTML iṣẹ Oju iwe webu ṣe atilẹyin awọn iwe afọwọkọ JavaScript, eyi ti o wa ni bayi lori awọn aaye ayelujara lori Intanẹẹti. Ati JavaScript, ni ọna, nigbagbogbo ni anfani lati ṣiṣẹ pẹlu awọn ikosile deede ati pe o ni awọn iṣẹ ti a ṣe sinu fun RegExps! Nitorinaa lati ṣe awọn ikosile deede ni Ibeere Agbara, a yoo nilo lati ifunni oju-iwe wẹẹbu.Awọn iṣẹ Oju-iwe bi ariyanjiyan si eto JavaScript kekere kan ti yoo ṣe gbogbo iṣẹ fun Ibeere Agbara.

Ohun ti o dabi ni JavaScript mimọ

Ọpọlọpọ awọn itọnisọna alaye ni o wa lori ṣiṣẹ pẹlu awọn ikosile deede ni JavaScript lori Intanẹẹti (fun apẹẹrẹ, ọkan, meji).

Ni kukuru ati irọrun, koodu JavaScript yoo dabi eyi:

Awọn ikosile deede (RegExp) ni Ibeere Agbara

Nibi:

  • var str = 'San awọn owo 123 ati 789 fun soseji'; – ṣẹda oniyipada str kí o sì yan ọ̀rọ̀ orísun tí a óò gbé yẹ̀ wò.
  • var Àpẹẹrẹ = /d+/gi; - ṣẹda ikosile deede ati fi sii ni oniyipada kan apẹẹrẹ.

    Ọrọ ikosile bẹrẹ pẹlu idinku (/).

    Ọrọ sisọ funrararẹ nibi, fun apẹẹrẹ, jẹ d+ duro fun eyikeyi ọkọọkan ti awọn nọmba.

    Nipasẹ ida lẹhin ikosile naa, awọn aye wiwa afikun wa (awọn oluyipada) - wọn le ṣe pato ni eyikeyi aṣẹ:

    • g – tumo si wiwa agbaye, ie lẹhin wiwa baramu, o yẹ ki o ko da, ṣugbọn tẹsiwaju awọn àwárí titi ti opin ti awọn ọrọ. Ti a ko ba ṣeto iyipada yii, lẹhinna iwe afọwọkọ wa yoo da ere akọkọ pada nikan (123)
    • i – wa lai iyi si irú ti awọn lẹta
    • m - wiwa laini pupọ (ti a lo nigbati ọrọ orisun ti pin si awọn laini pupọ)
  • var esi = str.match (apẹẹrẹ). darapọ (';'); - ṣe wiwa ninu ọrọ orisun (str) nipasẹ ikosile deede ti a fun (apẹẹrẹ) ki o si fi awọn esi sinu oniyipada esi, concatenating wọn pẹlu kan semicolon lilo pipaṣẹ da
  • document.write (esi); - ṣe afihan awọn akoonu ti iyipada abajade

Tun ṣe akiyesi pe awọn gbolohun ọrọ (laisi awọn ikosile deede) ni JavaScript ti wa ni pipade ni awọn apostrophes, kii ṣe awọn agbasọ bi wọn ṣe wa ninu Ibeere Agbara tabi VBA.

Ni abajade, iwe afọwọkọ yii yoo fun wa ni abajade gbogbo awọn nọmba ti a rii ninu ọrọ orisun:

123, 789

JavaScript kukuru dajudaju ti pari, o ṣeun gbogbo. Lero ti o gba awọn kannaa 🙂

O wa lati gbe ikole yii si ibeere Agbara.

Ṣewadii ati Jade Iṣẹ Ọrọ jade nipasẹ Ikosile deede ni Ibeere Agbara

A ṣe awọn wọnyi:

1. Ṣii Tayo ki o ṣẹda Ibeere Agbara ofo tuntun ninu taabu Data - Gba data / Ṣẹda ibeere - Lati awọn orisun miiran - Ibeere ofo (Data - Gba data / Ibeere Tuntun - Lati awọn orisun miiran - Ibeere òfo). Ti o ba ni ẹya atijọ ti Excel 2010-2013 ati Ibeere Agbara o ko ni itumọ-sinu, ṣugbọn ti fi sii bi afikun-itọtọ, lẹhinna gbogbo eyi yoo wa lori taabu. Ibeere AgbaraAti pe kii ṣe data.

2. Ninu ferese ti o ṣofo ti olootu ibeere ti o ṣii, ni apa ọtun, tẹ orukọ iṣẹ iwaju wa lẹsẹkẹsẹ (fun apẹẹrẹ, fxRegExpExtract)

Awọn ikosile deede (RegExp) ni Ibeere Agbara

3. Jẹ ki a lọ si taabu Wo – To ti ni ilọsiwaju Olootu (Wo - Onitẹsiwaju Olootu), a nu gbogbo M-koodu ti ibeere ṣofo ati lẹẹmọ koodu ti iṣẹ-ṣiṣe wa nibẹ:

Awọn ikosile deede (RegExp) ni Ibeere Agbara

Wo ọwọ rẹ:

Ni ila akọkọ, a sọ pe iṣẹ wa yoo ni awọn ariyanjiyan ọrọ mẹta: txt - a ṣe itupalẹ ọrọ atilẹba, regex - ilana ikosile deede, delim - ohun kikọ silẹ fun ifihan awọn abajade.

Nigbamii ti a pe iṣẹ naa Oju iwe webu, ṣiṣe koodu JavaScript ti a ṣalaye loke ninu ariyanjiyan rẹ. A lẹẹmọ ati paarọ awọn ariyanjiyan oniyipada wa sinu koodu naa.

Ajẹkù:

[Data]{0}[Ọmọdé]{0}[Ọmọdé]{1}[Ọ̀rọ̀]{0}

O nilo lati “ṣubu nipasẹ” sinu tabili pẹlu awọn abajade ti a nilo. Awọn ojuami ni wipe awọn iṣẹ Oju iwe webu bi abajade, o ṣe agbejade ọpọlọpọ awọn tabili itẹ-ẹiyẹ ti o tun ṣe ilana ti oju-iwe wẹẹbu kan. Laisi nkan ti M-koodu, iṣẹ wa yoo jade eyi:

Awọn ikosile deede (RegExp) ni Ibeere Agbara

… ati pe a yoo ni lati tẹ ọrọ naa ni igba pupọ Table, successively "ja bo nipasẹ" sinu ọmọ iteeye tabili ni awọn ọwọn ọmọ:

Awọn ikosile deede (RegExp) ni Ibeere Agbara

Dipo gbogbo agbasọ yii, a tọka lẹsẹkẹsẹ ninu koodu iṣẹ wa eyiti tabili itẹ-ẹiyẹ ati ọwọn (Text) anilo.

Nibi, ni otitọ, ni gbogbo awọn aṣiri. O wa lati tẹ bọtini naa pari ninu ferese to ti ni ilọsiwaju olootu, Nibi ti a ti fi koodu wa sii, ati pe o le tẹsiwaju si igbadun julọ - gbiyanju iṣẹ wa ni iṣẹ.

Eyi ni awọn apẹẹrẹ awọn irugbin meji.

Apeere 1. Gbigba nọmba akọọlẹ pada ati ọjọ lati apejuwe isanwo naa

A ni alaye banki kan pẹlu apejuwe kan (idi) ti awọn sisanwo, nibiti o nilo lati fa awọn nọmba ati awọn ọjọ ti awọn risiti sisan sinu awọn ọwọn lọtọ:

Awọn ikosile deede (RegExp) ni Ibeere Agbara

A kojọpọ tabili sinu Ibeere Agbara ni ọna boṣewa nipasẹ Data - Lati Tabili / Ibiti (Data - Lati Tlagbara/Rangẹli).

Lẹhinna a ṣafikun iwe iṣiro pẹlu iṣẹ wa nipasẹ Fi iwe kun – Ipe Aṣa Išė (Ṣafikun iwe-ọwọ – Pe Iṣẹ Aṣaṣe) ki o si tẹ awọn ariyanjiyan rẹ sii:

Awọn ikosile deede (RegExp) ni Ibeere Agbara

Gẹgẹbi ikosile deede (ariyanjiyan regex) awoṣe a lo:

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

… ti a tumọ si itumọ ede eniyan: 

awọn nọmba lati awọn nọmba 3 si 5 (awọn nọmba akọọlẹ)

or

Awọn ajẹkù ti fọọmu "Nọmba 2-bit - aaye - nọmba 2-bit - aaye - nọmba 4-bit", iyẹn ni, awọn ọjọ ti fọọmu DD.MM.YYYY.

Gẹgẹbi ohun kikọ apinpin (ariyanjiyan delim) tẹ a semicolon.

Lẹhin ti tite lori OK Iṣẹ idan wa ṣe itupalẹ gbogbo data akọkọ ni ibamu si ikosile deede wa ati ṣe agbekalẹ iwe kan fun wa pẹlu awọn nọmba ti a rii ati awọn ọjọ ti awọn risiti:

Awọn ikosile deede (RegExp) ni Ibeere Agbara

O wa lati ya sọtọ nipasẹ semicolon nipa lilo aṣẹ naa Ile - Pipin Ọwọn - Nipa Delimiter (Ile - iwe Pipin - Nipasẹ alapin) ati pe a gba ohun ti a fẹ:

Awọn ikosile deede (RegExp) ni Ibeere Agbara

Ẹwa!

Apẹẹrẹ 2: Jade awọn adirẹsi imeeli lati ọrọ

Ṣebi a ni tabili atẹle bi data ibẹrẹ:

Awọn ikosile deede (RegExp) ni Ibeere Agbara

... lati ibi ti a nilo lati fa jade awọn adirẹsi imeeli ti o ri nibẹ (fun wípé, Mo ti afihan wọn ni pupa ninu awọn ọrọ).

Gẹgẹbi apẹẹrẹ ti tẹlẹ, a gbe tabili sinu Ibeere Agbara ni ọna boṣewa nipasẹ Data - Lati Tabili / Ibiti (Data - Lati Tlagbara/Rangẹli).

Lẹhinna a ṣafikun iwe iṣiro pẹlu iṣẹ wa nipasẹ Fi iwe kun – Ipe Aṣa Išė (Ṣafikun iwe-ọwọ – Pe Iṣẹ Aṣaṣe) ki o si tẹ awọn ariyanjiyan rẹ sii:

Awọn ikosile deede (RegExp) ni Ibeere Agbara

Ṣiṣayẹwo awọn adirẹsi imeeli jẹ iṣẹ ṣiṣe ti o nira diẹ sii ati pe ọpọlọpọ awọn ikosile deede wa ti awọn iwọn oriṣiriṣi ti alaburuku lati yanju rẹ. Mo lo ọkan ninu awọn aṣayan ti o rọrun - kii ṣe apẹrẹ, ṣugbọn o ṣiṣẹ ni ọpọlọpọ awọn ọran:

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

Gẹgẹbi oluyatọ (delim) o le tẹ semicolon ati aaye kan sii.

Tẹ lori OK ati pe a gba ọwọn kan pẹlu awọn adirẹsi imeeli ti a fa jade lati ọrọ atilẹba “porridge”:

Awọn ikosile deede (RegExp) ni Ibeere Agbara

Idan!

PS

Gẹ́gẹ́ bí ọ̀rọ̀ náà ṣe sọ: “Kò sí ohun rere tí a kò lè mú kí ó túbọ̀ dára sí i.” Ibeere agbara jẹ itura lori ara rẹ, ati nigbati o ba ni idapo pẹlu awọn ikosile deede, o fun wa ni agbara aiṣedeede patapata ati irọrun ni sisẹ data ọrọ eyikeyi. Mo nireti pe Microsoft yoo ṣafikun atilẹyin RegExp ni ọjọ kan ni Ibeere Agbara ati awọn imudojuiwọn agbara BI ati gbogbo awọn ijó ti o wa loke pẹlu tambourin yoo di ohun ti o ti kọja. O dara, fun bayi, bẹẹni.

Mo tun fẹ lati ṣafikun pe o rọrun lati mu ṣiṣẹ pẹlu awọn ikosile deede lori aaye https://regexr.com/ – ọtun ni olootu ori ayelujara. Nibẹ ni apakan Agbegbe Awọn ilana Nọmba nla ti awọn akoko deede ti a ti ṣetan fun gbogbo awọn iṣẹlẹ. Idanwo - gbogbo agbara ti awọn ikosile deede wa bayi ni iṣẹ rẹ ni Ibeere Agbara!

  • Kini awọn ikosile deede (RegExp) ati bii o ṣe le lo wọn ni Excel
  • Wiwa ọrọ iruju ni Ibeere Agbara
  • Nto awọn tabili lati oriṣiriṣi awọn faili nipa lilo Ibeere Agbara

Fi a Reply