Bendrinti naudojant


IsMatch, Matchir MatchAll funkcijos

Taikoma: "Canvas apps Copilot Studio Model", pagrįstos " Power Platform CLI Dataverse" funkcijomis "Power Pages"

Tikrina atitikmenį arba išskleidžia teksto eilutės dalis pagal šabloną.

Aprašas

Funkcija IsMatch tikrina, ar teksto eilutė atitinka šabloną, kurį gali sudaryti paprastieji simboliai, iš anksto apibrėžti raštai ar įprasta išraiška. Funkcijos Match ir MatchAll pateikia atitikmenis, įskaitant antrinius elementus.

Naudokite IsMatch norėdami patikrinti, ką vartotojas įvedėte teksto įvesties valdiklyje. Pvz., patikrinkite, ar vartotojas įvedėte galiojantį el. pašto adresą prieš įrašant rezultatą į jūsų duomenų šaltinį. Jei įrašas neatitinka jūsų kriterijų, įtraukite kitų valdiklių, kurie paragins vartotoją pataisyti įrašą.

Naudokite Match norėdami išskleisti pirmąją teksto eilutę, atitinkančią šabloną, ir MatchAll išskleisti visas atitinkančias teksto eilutes. Išskleiskite dalinius neatitikimus, kad išanalizuotumėte sudėtingas eilutes.

Match pateikia rastą pirmojo atitikmens informacijos įrašą ir MatchAll pateikia kiekvieno rastų atitikmenų įrašų lentelę. Įraše arba įrašuose yra:

Column Tipas Aprašas
įvardytos sub-rungtynės arba sub-rungtynės Tekstinė žinutė Kiekvienas pavadintas antrinismatis turi savo stulpelį. Sukurkite pavadintą antrinį neatitikimą naudodami (?<vardas, pavadinimas>... ) paprastojoje išraiškoje. Jei pavadintas antrinis neatitikimas turi tokį patį pavadinimą kaip vienas iš iš anksto nustatytų stulpelių, antrinis atitikimas yra pirmumas ir sugeneruojamas įspėjimas. Pervardykite antrinį neatitikimą, kad išvengtumėte šio įspėjimo.
"FullMatch" Tekstinė žinutė Visa teksto eilutė, kurios atitikmenų ieškota.
StartMatch Numeris Įvesties teksto eilutėje esanti pradinė atitikmens padėtis. Pirmasis eilutės simbolis pateikia 1.
SubMatches, tik jei naudojama MatchOptions.NumberedSubMatches . Vieno stulpelio teksto lentelė (stulpelis Value) Sunumeruotų antriniųmatių lentelė, nurodyta tvarka, kuria jie rodomi paprastojoje išraiškoje. Paprastai, pavadintas submatches yra lengviau dirbti su ir yra skatinami. Naudokite funkciją ForAll arba Index , kad galėtumėte dirbti su atskiru antriniu atitikmeniu. Jei paprastojoje išraiškoje neapibrėžti jokie antriniai neatitikimai, ši lentelė bus, bet tuščia.

Šios funkcijos palaiko MatchOptions. Numatytasis veikimas

  • Šios funkcijos atitikmenų ieško atsižvelgdamos į raidžių dydį. Naudokite MatchOptions.IgnoreCase, kad atliktumėte didžiųjų ir mažųjų raidžių atitikmenis.
  • IsMatch atitinka visą teksto eilutę (Complete MatchOption), o Match ir MatchAll ieško atitikmens bet kurioje teksto eilutės vietoje (yra MatchOption). Complete, Contains, BeginsWith ar EndsWith naudokite pagal savo situaciją.

IsMatch pateikia true (teisinga ), jei teksto eilutė atitinka raštą, arba false (klaidinga ), jei ne. Match pateikia tuščią , jei nerasta atitikmenų, kuriuos galima patikrinti naudojant funkciją IsBlank . MatchAll pateikia tuščią lentelę, jei nerasta atitikmenų, kuriuos galima išbandyti naudojant funkciją IsEmpty .

Jei naudojate MatchAll teksto eilutei išskaidyti, apsvarstykite galimybę naudoti funkciją Split , kuri yra paprastesnė ir spartesnė.

Modeliai

Naudojant šias funkcijas svarbiausia aprašyi modelį, kurio atitikmenų ieškosite. Modelis aprašomas teksto eilutėje, derinant tolesnius elementus.

  • Įprastus simbolius, pvz., abc ar 123.
  • Iš anksto apibrėžtus modelius, pvz., Letter, MultipleDigits ar Email. (Išvardijimas Match apibrėžia šiuos modelius.)
  • Reguliariųjų reiškinių kodus, pvz., \d+\s+\d+ ar [a-z]+.

Sujunkite šiuos elementus naudodami eilutės sujungimo operatorių .. Pavyzdžiui, "abc" &; Digit & "\s+" yra tinkamas raštas, atitinkantis simbolius "a", "b" ir "c", po kurių eina skaitmuo nuo 0 iki 9, po kurio eina bent vienas tarpo simbolis.

Įprasti simboliai

Paprasčiausias modelis yra paprastų simbolių, kurie tiksliai atitinka, seka.

Pavyzdžiui, kai naudojama su IsMatch funkcija, eilutė "Labas" tiksliai atitinka raštą "Labas" . Ne daugiau ir ne mažiau. Eilutė "hello!" neatitinka modelio dėl pabaigos šauktuko ir dėl to, kad raidei "h" netinkamas atvejis. (Žr. Match šio veikimo būdo modifikavimo parinktis.)

Rašto kalba simboliai . ? * + ( ) [ ] ^ $ | \ rezervuoti specialiems tikslams. Norėdami naudoti šiuos simbolius, prieš simbolį naudokite (pasvirąjį brūkšnį \ ), kad nurodytumėte, jog simbolį reikia naudoti pažodžiui, arba naudokite vieną iš iš anksto nustatytų šablonų. Pavyzdžiui, galite sutapdinti eilutę "Hello?" naudodami trafaretą "Hello\\?" su pasviruoju brūkšniu prieš klaustuką.

Iš anksto apibrėžti modeliai

Naudojant iš anksto apibrėžtus modelius, paprasta ieškoti vieno iš simbolių rinkinio arba kelių simbolių sekos atitikmenų. Naudokite eilutės sujungimo operatorių , kad sujungtumėte savo teksto eilutes su išvardijimo Match nariais:

Match išvardijimas Aprašas Paprastoji išraiška
Betkuris Ieško bet kokio simbolio atitikmenų. .
Kablelis Atitinka kablelį ,. ,
Skaitmenų Ieško vieno skaitmens (nuo 0 iki 9) atitikmenų. \d
El paštas Ieško el. pašto adreso, kuriame yra simbolis „eta“ („@“), ir domeno pavadinimo, kuriame yra taškas („.“), atitikmenų Žr. pastabą
Brūkšnelis Ieško brūkšnelio atitikmenų. - Žr. pastabą
LeftParen Atitinka kairįjį skliaustą (. \(
Laiškas Ieško raidės atitikmenų. \p{L}
MultipleDigits Ieško vieno arba kelių skaitmenų atitikmenų. \d+
MultipleLetters Ieško vieno arba kelių raidžių atitikmenų. \p{L}+
"MultipleNonSpaces" Ieško vieno ar kelių simbolių, kurie neįtraukia tarpo (ne tarpo, skirtuko ar naujos eilutės), atitikmenų. \S+
MultipleSpaces Ieško vieno ar kelių simbolių, kurie įtraukia tarpą (tarpo, skirtuko ar naujos eilutės), atitikmenų. \s+
Ne erdvė Ieško vieno simbolio, neįtraukiančio tarpo, atitikmenų. \S
OptionalDigits Ieško nulio, vieno arba kelių skaitmenų atitikmenų. \d*
OptionalLetters Ieško nulio, vienos arba kelių raidžių atitikmenų. \p{L}*
OptionalNonSpaces Ieško nulio, vieno ar kelių simbolių, kurie neįtraukia tarpo. \S*
Pasirenkamos erdvės Ieško nulio, vieno ar kelių simbolių, kurie įtraukia tarpą. \s*
Tarpas Atitinka tašką arba tašką .. \.
RightParen Atitinka dešinįjį skliaustą ). \)
Erdvė Ieško simbolio, kuris įtraukia tarpą, atitikmenų. \s
Skirtukas Atitinka skirtuko ženklą. \t

Pvz., modelis "A" & MultipleDigits atitinka raidę "A" ir vieną ar daugiau skaitmenų.

"Power Apps" naudoja kitą apibrėžimą Match. El. paštas ir Match. Brūkšnelis. Įvertinkite Text( Match.Email ) , kad matytumėte įprastą reiškinį, kurį naudoja jūsų pagrindinis kompiuteris.

Reguliarieji reiškiniai

Šių funkcijų naudojamas modelis vadinamas įprastine išraiška. "Power Fx" įprastos išraiškos specifinė dialektas išsamiai aprašytas įprastose "Power Fx" išraiškose.

Reguliarūs reiškiniai yra galingi ir tarnauja įvairiais tikslais. Jie taip pat gali atrodyti kaip atsitiktinė skyrybos ženklų seka. Šiame straipsnyje aprašomi ne visi įprastų reiškinių aspektai, bet internete pateikiama daug informacijos, mokymo priemonių ir įrankių.

Reguliarūs reiškiniai turi ilgą istoriją ir yra prieinami daugelyje programavimo kalbų. Kiekviena programavimo kalba turi savo įprastos išraiškos dialektą ir yra keletas standartų. Mes siekiame užtikrinti tą pačią įprastą išraišką duoda tą patį rezultatą visose "Power Fx" įdiegtis. Suderinamumo nėra lengva pasiekti, nes "Power Fx" veikia virš JavaScript ir .NET, kurie turi didelių skirtumų. Kad veiktų skirtingose platformose, "Power Fx" reguliarūs posakiai yra apriboti iki funkcijų, kurios plačiai palaikomos visoje pramonėje, pogrupio.

Todėl kai kurios įprastos išraiškos, kurios gali veikti kitose aplinkose, gali būti užblokuotos arba gali reikėti koreguoti "Power Fx". Kūrimo laiko klaidos pranešamos kaip aptiktos nepalaikomos funkcijos. Tai yra viena iš priežasčių, kodėl įprasta išraiška ir parinktys turi būti kūrimo laiko konstanta, o ne dinaminė (pvz., pateikta kintamajame).

Pastaba.

"Power Apps" naudoja ankstesnę "Power Fx" paprastąsias išraiškas, kuriose yra mažiau apribojimų, bet taip pat mažiau funkcijų. MatchOptions.DotAll ir MatchOptions.FreeSpacing nepasiekiami ir aprašai Match. El. paštas ir Match. Žodžių kėlimas skiriasi. "Unicode" pakaitalų poros nelaikomos vienu simboliu. "MatchOptions.NumberedSubMatches " yra numatytoji. Čia aprašytos paprastosios išraiškos versija greitai bus pasiekiama "Power Apps" perjungime "Power Fx V1.0 suderinamumas".

Toliau pateikiami keli pagrindiniai paprastų reiškinių elementai, kurie sukurs skaičiaus analizės sudėtingumą.

Funkcija Pavyzdžiui Aprašas
Iš anksto apibrėžta simbolių klasė \d Ši paprastoji išraiška atitinka vieną skaičių, pvz 1., . Simbolių klasė atitinka simbolių rinkinį ir \d atitinka standartinius skaitmenis 0 bei 9 skaitmenis, apibrėžtus "Unicode" simbolio kategorijoje "Nd". Yra simbolių klasės, skirtos raidėms ir skaičiams su \w tarpais, įskaitant naujas linijas su \s. Taip pat yra atvirkštinių simbolių klasių, kurios yra rašomos didžiosiomis raidėmis: \D atitinka viską, kas \d ne.
Vienas arba daugiau \d+ Ši paprastoji išraiška atitinka vieną ar daugiau skaičių, pvz 123., . Po + elemento sakoma "vienas ar daugiau" paskutinio elemento.
Nulis arba Vienas \+?\d Ši paprastoji išraiška atitinka pasirinktinį + ženklą, po kurio eina vienas ar daugiau skaičių, pvz +123 ., taip pat tiesiog 123. Po ? elemento rašoma: "tai nebūtina, jis gali įvykti nulis arba vieną kartą". Prieš + jį turi pasvirąjį brūkšnį, kad jis būtų atskirtas kaip raidinis simbolis, o ne "vieno ar daugiau" naudojimas.
Grupavimas ir kaitalioti (-|\+)?\d+ Ši paprastoji išraiška atitinka + arba ženklą, arba -, pasirinktinai, tada skaičių seką, pvz -123., , +123ir 123. Čia pristatome dvi sąvokas, kurios dažnai naudojamos kartu. Pirma, mes turime skliaustus, kad grupė kaip elementų rinkinys kartu, ? kad būtų galima imtis veiksmų. Antra, mes, | kurie sako "arba tai, arba kad".
Pasirinktinė simbolių klasė (-|\+)?\d+[eE][\-\+]?\d+ Ši paprastoji išraiška įtraukia eksponentę į dviejų simbolių klasių derinį, atitinkantį +123e-12. Simbolių klasė yra tarsi | pakaitomis pateikiama glaustesnės formos "atitinkantis vieną iš šių dalykų". Kaip ir "+", -turi specialią reikšmę įprastose išraiškos simbolių klasėse, todėl mums reikia ją išvengti.
Nulis arba daugiau (-|\+)?\d+\.?\d*[eE][\-\+]?\d+ Ši paprastoji išraiška prideda dešimtainį skaičių po sveikojo skaičiaus dalies, pvz -123.456e-89 ., arba -123.E+32. Po \d dešimtainio skyriklio yra * kvalifikatorius, nurodantis dešimtainių skaitmenų "nulį arba daugiau kartų" po .
Grupių fiksavimas (?&lt;number&gt;(-|\+)?\d+\.?\d*)[eE](?&lt;exponent&gt;[\-\+]?\d+) Galiausiai, įtraukiame įrašymo grupes į "" number ir exponent"". Paprastoji išraiška gali ne tik atitikti visą eilutę, bet ir išskleisti dalis, skirtas naudoti formulėse, šiuo atveju dalį prieš e (arba E) ir dalį po.

Šiuose pavyzdžiuose pateikiamas tik nedidelis įprastos išraiškos skonis. Jie dažnai naudojami tikrinant ID numerius, el. pašto adresus, telefono numerius, datas ir laikus bei išgaunant informaciją iš įvairių teksto failų. Tęskite savo kelionę skaitydami įprastas išraiškas "Power Fx", eksperimentuokite ir naudokite žiniatinklį, kad sužinotumėte daugiau.

Match Parinktys

Modifikuokite šių funkcijų veikimą nurodydami vieną ar daugiau parinkčių, kurias sujungiate naudodami eilutės sujungimo operatorių (&).

MatchOptions išvardijimas Aprašas Įtaka reguliariajam reiškiniui
MatchOptions.BeginsWith Modelis turi atitikti nuo teksto pradžios. Į reguliariojo reiškinio pradžią įtraukia ^.
MatchOptions.Complete Numatytoji IsMatch "Power Apps" parinktis. Trafaretas atitinka visą teksto eilutę nuo pradžios iki pabaigos. Į reguliariojo reiškinio pradžią įtraukia ^, o į pabaigą – $.
MatchOptions.Yra Numatytoji Match "Power Apps" ir MatchAllIsMatch už jos ribų. Modelis turi būti rodomas kažkur tekste, bet neprivalo jo pradėti ar baigti. Reguliariojo reiškinio nemodifikuoja.
MatchOptions.DotAll Keičia (taško) operatoriaus veikimą . , kad atitiktų visus simbolius, įskaitant naujos linijos simbolius. Nėra "Power Apps". Reguliariojo reiškinio nemodifikuoja. Ši parinktis atitinka įprastinių reiškinių standartinį "s" modifikavimo priemonę.
MatchOptions.EndsWith Modelis turi atitikti teksto eilutės pabaigą. Į reguliariojo reiškinio pabaigą įtraukia $.
MatchOptions.FreeSpacing Paprastojoje išraiškoje nepaisoma tarpų simbolių, įskaitant naujas linijas. Eilutės pabaigos komentarų, prasidedančių raide "", # nepaisoma. Nėra "Power Apps". Keičia tik įprastos išraiškos sintaksę. Ši parinktis atitinka įprastinių reiškinių standartinį "x" modifikavimo priemonę.
MatchOptions.IgnoreCase Didžiąsias ir mažąsias raides traktuoja kaip identiškas. Numatyta, kad atitikmenų ieškoma atsižvelgiant į raidžių dydį. Reguliariojo reiškinio nemodifikuoja. Ši parinktis atitinka standartinį reguliariųjų reiškinių modifikatorių „i“.
MatchOptions.Multiline Pakeičia linijos veikimą ^ ir $ turi sutapti. Reguliariojo reiškinio nemodifikuoja. Ši parinktis atitinka standartinį reguliariųjų reiškinių modifikatorių „m“.
MatchOptions.NumberedSubMatches Mėgstami įvardytieji užfiksuoti vaizdai, nes juos lengviau suprasti ir tvarkyti. Efektyvumas taip pat pagerinamas, nes neišsaugomi nereikalingi užfiksuoti įrašai. Tačiau senesnių įprastinių reiškinių atveju kiekvieną skliaustelių rinkinį traktuoja kaip sunumeruotą fiksavimą, įtrauktą į rezultatų lentelę "SubMatches ". Numatytasis "Power Apps". Reguliariojo reiškinio nemodifikuoja. Įvardytieji užfiksuoti įrašai yra išjungti, o \1 stiliaus atgalinės nuorodos įgalintos.

Naudojimas MatchAll yra tas pats, kaip naudojant standartinį "g" modifikavimo priemonę paprastosiose išraiškose.

Sintaksė

IsMatch( Tekstas, Trafaretas [, Parinktys ] )

  • Tekstas – būtinas. Teksto eilutė, kurią reikia tikrinti.
  • Raštas – būtinas. Modelis, kurį reikia tikrinti kaip teksto eilutę. Sukurkite iš anksto apibrėžtus raštus, kuriuos Match išvardijimas apibrėžia arba pateikia paprastąją išraišką. Šablonas turi būti konstantos formulė be kintamųjų, duomenų šaltinių ar kitų dinaminių nuorodų, kurios keičiasi, kai paleidžiama programa. Atkreipkite dėmesį, kad formulė turi būti išreikšta kaip "Match. PredefinedPattern" pvz., Match. El paštas
  • Parinktys – neprivaloma. MatchOptions išvardijimo reikšmių teksto eilutės junginys. Numatyta, kad naudojama MatchOptions.Complete. Parinktys turi būti konstantos formulė be kintamųjų, duomenų šaltinių ar kitų dinaminių nuorodų, kurios keičiasi, kai paleidžiama programa.

Match( Tekstas, Trafaretas [, Parinktys ] )

  • Tekstas – būtinas. Teksto eilutė, kurios atitikmenų reikia ieškoti.
  • Raštas – būtinas. Modelis, kurio atitikmenys turi būti ieškomi kaip teksto eilutė. Sukurkite iš anksto apibrėžtus modelius, kuriuos Match apibrėžia išvardijimas, arba pateikite įprastą reiškinį. Raštas turi būti pastovi formulė be jokių kintamųjų, duomenų šaltinių ar kitų dinaminių nuorodų, kurios keičiasi vykdant programą.
  • Parinktys – neprivaloma. MatchOptions išvardijimo reikšmių teksto eilutės junginys. Numatyta, kad naudojama MatchOptions.Contains. Parinktys turi būti konstantos formulė be jokių kintamųjų, duomenų šaltinių ar kitų dinaminių nuorodų, kurios keičiasi, kai paleidžiama programa.

MatchAll( Tekstas, Trafaretas [, Parinktys ] )

  • Tekstas – būtinas. Teksto eilutė, kurios atitikmenų reikia ieškoti.
  • Raštas – būtinas. Modelis, kurio atitikmenys turi būti ieškomi kaip teksto eilutė. Sukurkite iš anksto apibrėžtus raštus, kuriuos Match išvardijimas apibrėžia arba pateikia paprastąją išraišką. Šablonas turi būti konstantos formulė be kintamųjų, duomenų šaltinių ar kitų dinaminių nuorodų, kurios keičiasi, kai paleidžiama programa.
  • Parinktys – neprivaloma. MatchOptions išvardijimo reikšmių teksto eilutės junginys. Numatyta, kad naudojama MatchOptions.Contains. Parinktys turi būti konstantos formulė be kintamųjų, duomenų šaltinių ar kitų dinaminių nuorodų, kurios keičiasi, kai paleidžiama programa.

IsMatch Pavyzdžiai

Įprasti simboliai

Įsivaizduokite, kad jūsų programa turi teksto įvesties valdiklį, pavadintą TextInput1. Vartotojai įveda reikšmes į šį valdiklį, kad išsaugotų jas duomenų bazėje.

Vartotojai į "TextInput1" įveda "Hello world".

Formulė Aprašas Rezultatas
IsMatch( TextInput1.Text, "Hello world" ) Patikrina, ar vartotojo įvestis tiksliai atitinka eilutę „Labas, pasauli“. Tiesa
IsMatch( TextInput1.Text, "Good bye" ) Patikrina, ar vartotojo įvestis tiksliai atitinka eilutę „Viso gero“. klaidinga
IsMatch( TextInput1.Text, "hello", Contains ) Patikrina, ar vartotojo įvestyje yra žodis „labas“ (atsižvelgiama į raidžių dydį). klaidinga
IsMatch( TextInput1.Text, "hello", Contains & IgnoreCase ) Patikrina, ar vartotojo įvestyje yra žodis „labas“ (neatsižvelgiama į raidžių dydį). Tiesa

Iš anksto apibrėžti modeliai

Formulė Aprašas Rezultatas
IsMatch( "123-45-7890", Match.Digit & Match.Digit & Match.Digit & Match.Digit & Match.Digit & Match.Digit & Match.Digit & Match.Digit & Match.Digit & Match.Digit & Match.Digit ) Ieško Jungtinių Valstijų socialinio draudimo numerio atitikmens Tiesa
IsMatch( "joan@contoso.com", Match.Email ) Ieško el. pašto adreso atitikmens Tiesa
IsMatch( "123.456", Match.MultipleDigits & Match.Period & Match.OptionalDigits ) Ieško skaitmenų sekos, taško ir nulio ar kelių skaitmenų atitikmenų. Tiesa
IsMatch( "123", Match.MultipleDigits & Match.Period & Match.OptionalDigits ) Ieško skaitmenų sekos, taško ir nulio ar kelių skaitmenų atitikmenų. Tekste, kurio atitikmenų reikia ieškoti, taško nėra, todėl šio modelio atitikmenų neieškoma. klaidinga

Reguliarieji reiškiniai

Formulė Aprašas Rezultatas
IsMatch( "986", "\d+" ) Ieško už nulį didesnio sveikojo skaičiaus atitikmenų. Tiesa
IsMatch( "1.02", "\d+(\.\d\d)?" ) Ieško teigiamos valiutos sumos atitikmenų. Jei įvestyje yra dešimtainis skyriklis, joje po skyriklio taip pat turi būti du skaitiniai simboliai. Pavyzdžiui, 3,00 gali būti, o 3,1 – ne. Tiesa
IsMatch( "-4.95", "(-)?\d+(\.\d\d)?" ) Ieško teigiamos arba neigiamos valiutos sumos atitikmenų. Jei įvestyje yra dešimtainis skyriklis, joje po skyriklio taip pat turi būti du skaitiniai simboliai. Tiesa
IsMatch( "111-11-1111", "\d{3}-\d{2}-\d{4}" ) Ieško Jungtinių Valstijų socialinio draudimo numerio atitikmens Patikrina pateikto įvesties lauko formatą, tipą ir ilgį. Eilutę, kurios atitikmenų ieškoma, turi sudaryti trys skaitiniai simboliai, o po jų turi sekti brūkšnys, du skaitiniai simboliai, brūkšnys ir keturi skaitiniai simboliai. Tiesa
IsMatch( "111-111-111", "\d{3}-\d{2}-\d{4}" ) Tas pats, kaip ankstesniame pavyzdyje, tačiau vienas iš brūkšnelių yra netinkamoje įvesties vietoje. klaidinga
IsMatch( "AStrongPasswordNot", "(?!^[0-9]\*$)(?!^[a-zA-Z]\*$)([a-zA-Z0-9]{8,10})" ) Patikrina sudėtingą slaptažodį, kuriame turi būti aštuoni, devyni arba 10 simbolių, bent vienas skaitmuo ir bent vienas raidinis simbolis. Eilutėje negali būti specialiųjų simbolių. klaidinga

Match ir MatchAll pavyzdžiai

Formulė Aprašas Rezultatas
Match( "Bob Jones <bob.jones@contoso.com>", "<(?<email>" & Match.Email & ")>") Išgauna tik kontakto informacijos el. pašto adreso dalį. {
el. paštas: "bob.jones@contoso.com",
FullMatch: "<bob.jones@contoso.com>",
Pradžios meniu: 11
}
Match( "Bob Jones <InvalidEmailAddress>", "<(?<email>" & Match.Email & ")>" Išgauna tik kontakto informacijos el. pašto adreso dalį. Juridinio adreso nerasta (nėra ženklo @), todėl funkcija pateikia blank. Tuščią
Match( Language(), "(<language>\w{2})(?:-(?<script>\w{4}))?(?:-(?<region>\w{2}))?" ) Iš kalbos žymės, kurią pateikia funkcija Language, išgauna kalbos, scenarijaus ir regiono dalis. Šie rezultatai taikomi Jungtinėms Valstijoms; daugiau pavyzdžių žr. funkcijos Language dokumentacijoje. Operatorius (?: simbolius grupuoja nekurdamas kito antrinio atitikmens. {
kalba: "en",
script: blank,
regionas: "US",
FullMatch: "en-US",
Pradžios meniu: 1
}
Match( "PT2H1M39S", "PT(?:(?<hours>\d+)H)?(?:(?<minutes>\d+)M)?(?:(?<seconds>\d+)S)?" ) Iš ISO 8601 trukmės reikšmės išgauna valandas, minutes ir sekundes. Išgauti skaičiai vis dar yra teksto eilutėje; naudodami funkciją Value, eilutę galite konvertuoti į skaičių prieš tai, kai su ja atliekamos matematinės operacijos. {
valandos: "2",
min.: "1",
sek.: "39",
FullMatch: "PT2H1M39S",
Pradžios meniu: 1
}

Panagrinėkime pastarąjį pavyzdį. Jei norite konvertuoti šią eilutę į datos / laiko reikšmę naudodami funkciją Time , turite atskirai pereiti į nurodytus antrinius elementus. Norėdami tai padaryti, naudokite funkciją With , kuri veikia įraše, kuris Match pateikia:

With(
    Match( "PT2H1M39S", "PT(?:(?<hours>\d+)H)?(?:(?<minutes>\d+)M)?(?:(?<seconds>\d+)S)?" ),
   Time( Value( hours ), Value( minutes ), Value( seconds ) )
)

Šiems pavyzdžiams įtraukite mygtuko valdiklį, jo ypatybę OnSelect nustatykite kaip šią formulę, tada pasirinkite mygtuką:

Set( pangram, "The quick brown fox jumps over the lazy dog." )
Formulė Aprašas Rezultatas
Match( pangram, "THE", IgnoreCase ) Teksto eilutėje, esančioje kintamajame pangram, randami visi „THE“ atitikmenys. Eilutėje yra du atitikmenys, tačiau grąžinama tik pirmoji, nes naudojate Match , o ne MatchAll. {
FullMatch: "The",
Pradžios meniu: 32
}
MatchAll( pangram, "the" ) Teksto eilutėje, esančioje kintamajame pangram, randami visi „the“ atitikmenys. Testas skiria didžiąsias ir mažąsias raides, todėl randamas tik antrasis „the“ egzempliorius. MatchAll jei naudojate pangramą.
MatchAll( pangram, "the", IgnoreCase ) Teksto eilutėje, esančioje kintamajame pangram, randami visi „the“ atitikmenys. Šiuo atveju testas didžiųjų ir mažųjų raidžių neskiria, todėl randami abu žodžio egzemplioriai. MatchAll su IgnoreCase.
MatchAll( pangram, "\b\wo\w\b" ) Randa visus trijų raidžių žodžius, kurių viduryje yra raidė „o“. "ruda" neįtraukiama, nes tai nėra trijų raidžių žodis, todėl neatitinka "\b" (žodžio riba). MatchAll jei tai pangrama su b, wo, w ir b.
Match( pangram, "\b\wo\w\b\s\*(?<between>\w.+\w)\s\*\b\wo\w\b" ) Ieško visų simbolių tarp „fox“ ir „dog“ atitikmenų. {
tarp: "šokinėja per tingus",
FullMatch: "lapė šokinėja per tingus šuo",
Pradžios meniu: 17
}

Norėdami peržiūrėti galerijos rezultatus MatchAll :

  1. Tuščiame ekrane įterpkite tuščią vertikalios galerijos valdiklį.

  2. Nustatykite galerijos ypatybę Elementai kaip MatchAll( pangram, \w+) arba MatchAll( pangram, MultipleLetters ).

    Elementų galerija.

  3. Galerijos valdiklio viduryje pasirinkite Įtraukti elementą iš skirtuko Įterpimas, kad pasirinktumėte galerijos šabloną.

  4. Į galerijos šabloną įtraukite žymos valdiklį.

  5. Žymos ypatybę Text nustatykite kaip ThisItem.FullMatch.

    Į galeriją įtraukiamas kiekvienas mūsų pavyzdinio teksto žodis. Norėdami visus žodžius matyti viename ekrane, pakeiskite galerijos šablono ir etiketės valdiklio dydį.

    Teksto ypatybė.