Piezīmes
Lai piekļūtu šai lapai, ir nepieciešama autorizācija. Varat mēģināt pierakstīties vai mainīt direktorijus.
Lai piekļūtu šai lapai, ir nepieciešama autorizācija. Varat mēģināt mainīt direktorijus.
Attiecas uz: Audekla programmas
Copilot Studio
Modeļa vadītas programmas
Power Platform CLI
Dataverse funkcijas
Power Pages
Pārbauda atbilstību vai izvelk teksta virknes daļas, pamatojoties uz modeli.
Apraksts
Funkcija IsMatch pārbauda, vai teksta virkne atbilst modelim, kas var sastāvēt no parastām rakstzīmēm, iepriekš definētiem modeļiem vai regulārās izteiksmes. Funkcijas Match un MatchAll atgriež to, kas tika saskaņots, ieskaitot apakšatbilstības.
Izmantojiet IsMatch , lai pārbaudītu, ko lietotājs ir ierakstījis teksta ievades vadīklā. Piemēram, pārbaudiet, vai lietotājs ir ievadījis derīgu e-pasta adresi, pirms rezultāts tiek saglabāts datu avotā. Ja ieraksts neatbilst jūsu kritērijiem, pievienojiet citas vadīklas, kas liek lietotājam labot ierakstu.
Izmantojiet Match , lai izvilktu pirmo teksta virkni, kas atbilst modelim, un MatchAll lai izvilktu visas atbilstošās teksta virknes. Izvilkt apakšatbilstības, lai parsētu sarežģītas virknes.
Match Atgriež informācijas ierakstu par pirmo atrasto atbilstību un MatchAll atgriež ierakstu tabulu par katru atrasto atbilstību. Ieraksts vai ieraksti satur:
| Column | Tipi | Apraksts |
|---|---|---|
| nosauktās apakšatbilstības vai apakšatbilstības | Īsziņu | Katrai nosauktajai apakšatbilstībai ir sava kolonna. Izveidojiet nosauktu apakšatbilstību, izmantojot (?<vārds>... ) regulārajā izteiksmē. Ja nosauktajai apakšatbilstībai ir tāds pats nosaukums kā kādai no iepriekš definētajām kolonnām, apakšatbilstība ir prioritāra un tiek ģenerēts brīdinājums. Pārdēvējiet apakšatbilstību, lai izvairītos no šī brīdinājuma. |
| Pilna spēle | Īsziņu | Visa teksta virkne, kurai bija atbilstība. |
| StartMatch | Numurs | Atbilstības sākuma pozīcija ievades teksta virknē. Virknes pirmā rakstzīme atgriež 1. |
| SubMatches tikai tad, ja tiek izmantots MatchOptions.NumberedSubMatchans . | Teksta tabula ar vienu kolonnu (kolonna Vērtība) | Numurēto apakšatbilstību tabula secībā, kādā tās parādās regulārajā izteiksmē. Parasti nosauktās apakšatbilstības ir vieglāk strādāt un tiek iedrošinātas. Izmantojiet funkciju ForAll vai Index , lai strādātu ar atsevišķu apakšatbilstību. Ja regulārajā izteiksmē nav definētas apakšatbilstības, šī tabula būs klāt, bet tukša. |
Šīs funkcijas atbalsta MatchOptions. Pēc noklusējuma:
- Šīs funkcijas veic reģistrjutīgu atbilstību. Izmantojiet MatchOptions.IgnoreCase , lai veiktu reģistrjutīgas atbilstības.
- IsMatch atbilst visai teksta virknei (Complete MatchOption), kamēr Match un MatchAll meklējiet atbilstību jebkurā teksta virknes vietā (Satur MatchOption). Izmantojiet Pabeigts, Satur, BeginsWith vai EndsWith atbilstoši jūsu scenārijam.
IsMatch Atgriež true , ja teksta virkne atbilst modelim, vai false , ja tā neatbilst modelim. Match atgriež tukšu , ja netiek atrasta atbilstība, ko var pārbaudīt ar funkciju IsBlank . MatchAll ja netiek atrasta tukša tabula, ko var pārbaudīt ar funkciju IsEmpty .
Ja izmantojat MatchAll teksta virknes sadalīšanu, apsveriet iespēju izmantot funkciju Split , kas ir vienkāršāka un ātrāka.
Shēmas
Šo funkciju lietošanas atslēga ir saskaņojamās shēmas aprakstīšanā. Jūs aprakstāt shēmu teksta virknē kā kombināciju, ko veido:
- Parastas rakstzīmes, piemēram, "abc" vai "123".
- Iepriekš definētas shēmas, piemēram, Letter, MultipleDigits vai Email. (Uzskaitījums Match definē šos modeļus.)
- Regulāru izteiksmju kodi, piemēram, "\d+\s+\d+" vai "[a-z]+".
Apvienojiet šos elementus, izmantojot virknes savienošanas operatoru &. Piemēram, "abc" &; Digit &; "\s+" ir derīgs modelis, kas atbilst rakstzīmēm "a", "b" un "c", kam seko cipars no 0 līdz 9, kam seko vismaz viena atstarpes rakstzīme.
Parastas rakstzīmes
Vienkāršākais modelis ir parasto rakstzīmju secība, kas precīzi sakrīt.
Piemēram, lietojot kopā ar IsMatch funkciju, virkne "Sveiki" precīzi atbilst modelim "Sveiki". Ne vairāk un ne mazāk. Virkne "hello!" neatbilst modelim izsaukuma zīmes dēļ beigās un tāpēc, ka burts "h" ir nepareizs. (Skatiet Match opcijas , lai uzzinātu, kā modificēt šo darbību.)
Raksta valodā rakstzīmes . ? * + ( ) [ ] ^ $ | \ ir rezervētas īpašiem mērķiem. Lai izmantotu šīs rakstzīmes, rakstzīmju prefikss (atpakaļvērstā slīpsvītra \ ), lai norādītu, ka rakstzīme ir jāuztver burtiski, vai izmantojiet kādu no iepriekš definētajiem modeļiem. Piemēram, virkni "Hello?" var saskaņot, izmantojot rakstu "Hello\\?" ar atpakaļvērstu slīpsvītru pirms jautājuma zīmes.
Iepriekš definētas shēmas
Iepriekš definētas shēmas nodrošina vienkāršu veidu, kādā saskaņot vienu no rakstzīmju kopām vai vairāku rakstzīmju secību. Izmantojiet virknes savienošanas operatoru & , lai apvienotu savas teksta virknes ar uzskaites elementiem Match :
| Match Uzskaitījums | Apraksts | Parasta izteiksme |
|---|---|---|
| Jebkuru | Atbilst jebkurai rakstzīmei. | . |
| Komats | Atbilst komatam ,. |
, |
| Cipars | Atbilst vienam ciparam ("0" līdz "9"). | \d |
| E-pasts | Atbilst e-pasta adresei, kas ietver "at" simbolu ("@"), un domēna nosaukumu, kas ietver punktu (".") | Skatīt piezīmi |
| Defise | Atbilst pārnesumzīmei. |
-
Skatīt piezīmi |
| LeftParen | Atbilst kreisajai iekavai (. |
\( |
| Vēstule | Atbilst burtam. | \p{L} |
| MultipleDigits | Atbilst vienam vai vairākiem cipariem. | \d+ |
| MultipleLetters | Atbilst vienam vai vairākiem burtiem. | \p{L}+ |
| MultipleNonSpaces | Atbilst vienai vai vairākām rakstzīmēm, kas nepievieno baltstarpu (nevis atstarpi, tabulēšanu vai jaunu rindu). | \S+ |
| MultipleSpaces | Atbilst vienai vai vairākām rakstzīmēm, kas pievieno baltstarpu (atstarpi, tabulēšanu vai jaunu rindu). | \s+ |
| NonSpace | Atbilst vienai rakstzīmei, kas nepievieno baltstarpu. | \S |
| IzvēlesDigits | Atbilst nullei, vienam vai vairākiem cipariem. | \d* |
| Pēc izvēlesLetters | Atbilst nullei, vienam vai vairākiem burtiem. | \p{L}* |
| IzvēlesNonSpaces | Atbilst nullei, vienam vai vairākām rakstzīmēm, kuras nepievieno baltstarpu. | \S* |
| NeobligātasSpaces | Atbilst nullei, vienam vai vairākām rakstzīmēm, kuras pievieno baltstarpu. | \s* |
| Periods | Atbilst punktam vai punktam .. |
\. |
| RightParen | Atbilst labajai iekavai ). |
\) |
| Kosmoss | Atbilst rakstzīmei, kura pievieno baltstarpu. | \s |
| Cilne | Atbilst tabulācijas rakstzīmei. | \t |
Piemēram, raksts "A" & MultipleDigits atbilst burtam "A", kam seko viens vai vairāki cipari.
Power Apps izmanto citu definīciju .Match E. un Match. Defise. Novērtējiet Text( Match.Email ) , lai redzētu regulāro izteiksmi, ko izmanto jūsu saimnieks.
Regulāras izteiksmes
Šo funkciju izmantoto modeli sauc par regulāro izteiksmi. Power Fx specifiskais regulāro izteiksmju dialekts ir detalizēti aprakstīts sadaļā Power Fx regulārās izteiksmes.
Regulārās izteiksmes ir spēcīgas un kalpo visdažādākajiem mērķiem. Tie var izskatīties arī kā nejauša pieturzīmju secība. Šajā rakstā nav aprakstīti visi regulāro izteiksmju aspekti, bet tiešsaistē ir pieejama plaša informācija, apmācības un rīki.
Regulārajām izteiksmēm ir sena vēsture, un tās ir pieejamas daudzās programmēšanas valodās. Katrai programmēšanas valodai ir savs regulāro izteiksmju dialekts, un standartu ir maz. Mēs cenšamies nodrošināt, lai viena un tā pati regulārā izteiksme sniegtu vienādu rezultātu visās Power Fx implementācijās. Saderību nav viegli panākt, jo Power Fx darbojas papildus JavaScript un .NET, kuriem ir būtiskas atšķirības. Lai nodrošinātu darbību dažādās platformās, Power Fx regulārās izteiksmes ir ierobežotas ar līdzekļu apakškopu, kas tiek plaši atbalstīta visā nozarē.
Tā rezultātā dažas regulārās izteiksmes, kas var darboties citās vidēs, var tikt bloķētas vai tām ir nepieciešama pielāgošana programmā Power Fx. Par autorēšanas laika kļūdām tiek ziņots, jo tiek konstatēti neatbalstīti līdzekļi. Tas ir viens no iemesliem, kāpēc regulārajai izteiksmei un opcijām jābūt autorēšanas laika konstantei, nevis dinamiskai (piemēram, mainīgajā).
Piezīmes
Power Apps izmanto vecāku Power Fx regulāro izteiksmju versiju, kurai ir mazāk ierobežojumu, bet arī mazāk līdzekļu. MatchOptions.DotAll un MatchOptions.FreeSpacing nav pieejami, un definīcijas .Match E-pasts un Match. Defise ir atšķirīga. Unikoda surogātu pāri netiek uzskatīti par vienu rakstzīmi. MatchOptions.NumberedSubMatches ir noklusējums. Šeit aprakstītā regulāro izteiksmju versija drīzumā būs pieejama pakalpojumā Power Apps ar slēdzi "Power Fx V1.0 saderība".
Tālāk ir norādīti daži regulāro izteiksmju pamatelementi, kas sarežģī skaitļa parsēšanu.
| Līdzeklis | Piemērs | Apraksts |
|---|---|---|
| Iepriekš definēta rakstzīmju klase | \d |
Šī regulārā izteiksme atbilst vienam skaitlim, piemēram 1, . Rakstzīmju klase atbilst rakstzīmju kopai un \d sakrīt ar standarta cipariem 0 , 9 kā arī cipariem, kas definēti unikoda rakstzīmju kategorijā "Nd". Ir rakstzīmju klases burtiem un cipariem ar \w un atstarpēm, ieskaitot jaunas rindiņas ar \s. Ir arī apgrieztās rakstzīmju klases, kas tiek rakstītas ar lielo burtu: \D atbilst visam, kas \d to nedara. |
| Viens vai vairāki | \d+ |
Šī regulārā izteiksme atbilst vienam vai vairākiem skaitļiem, piemēram 123, . A + pēc elementa saka "viens vai vairāki" no pēdējā elementa. |
| Nulle vai viens | \+?\d |
Šī regulārā izteiksme atbilst neobligātai + zīmei, kurai seko viens vai vairāki skaitļi, piemēram +123 , kā arī tikai 123. A ? pēc elementa saka "tas nav obligāti, tas var notikt nulle vai vienu reizi". Pirms + tam ir atpakaļvērsta slīpsvītra, lai to atšķirtu kā burtisku rakstzīmi, nevis "vienu vai vairākus" lietojumu. |
| Grupēšana un maiņa | (-|\+)?\d+ |
Šī regulārā izteiksme pēc izvēles atbilst zīmei + vai , -un pēc tam skaitļu sērijai, piemēram -123, , +123, un 123. Mēs šeit ieviešam divus jēdzienus, kas bieži tiek izmantoti kopā. Pirmkārt, mums ir iekavas, kas grupa ir elementu kopums kopā, lai ? darbotos. Otrkārt, mums ir | tas, kas saka "vai nu tas, vai tas". |
| Pielāgota rakstzīmju klase | (-|\+)?\d+[eE][\-\+]?\d+ |
Šī regulārā izteiksme pievieno eksponentu kombinācijai ar divām rakstzīmju klasēm, kas atbilst +123e-12. Rakstzīmju klase ir kā | maiņa, kas kompaktākā formā nodrošina "atbilst vienai no šīm lietām". Tāpat kā ar , +- ir īpaša nozīme regulāro izteiksmju rakstzīmju klasēs, tāpēc mums ir jāizvairās no tā. |
| Nulle vai vairāk | (-|\+)?\d+\.?\d*[eE][\-\+]?\d+ |
Šī regulārā izteiksme pievieno decimāldaļu aiz skaitļa vesela skaitļa daļas, piemēram-123.456e-89, vai .-123.E+32 Aiz \d komata ir * kvantificētājs, kas saka "nulle vai vairāk reizes" decimālcipariem pēc . |
| Grupu tveršana | (?<number>(-|\+)?\d+\.?\d*)[eE](?<exponent>[\-\+]?\d+) |
Visbeidzot, mēs pievienojam tveršanas grupas number un .exponent Regulārā izteiksme var ne tikai atbilst visai virknei, bet arī var izvilkt daļas, kas izmantojamas formulās, šajā gadījumā daļu pirms e (vai E) un daļu pēc tās. |
Šie piemēri sniedz tikai nelielu priekšstatu par to, ko var darīt regulārās izteiksmes. Tos parasti izmanto, lai apstiprinātu ID numurus, e-pasta adreses, tālruņa numurus, datumus un laikus, kā arī iegūtu informāciju no visa veida teksta failiem. Turpiniet savu ceļojumu, izlasot Regulārās izteiksmes pakalpojumā Power Fx, eksperimentējiet un izmantojiet tīmekli, lai uzzinātu vairāk.
Match Opcijas
Modificējiet šo funkciju darbību, norādot vienu vai vairākas opcijas, kuras apvienojat, izmantojot virknes savienošanas operatoru (&).
| MatchOptions uzskaitījums | Apraksts | Ietekme uz regulāru izteiksmi |
|---|---|---|
| MatchOptions.BeginsWith | Shēmai ir jāatbilst no teksta sākuma. | Pievieno ^ regulāras izteiksmes sākumam. |
| MatchOptions.Complete | Noklusējums IsMatch Power Apps. Raksts atbilst visai teksta virknei no sākuma līdz beigām. | Pievieno ^ regulāras izteiksmes sākumam un $ regulāras izteiksmes beigām. |
| MatchOptions.Satur | Noklusējums Match un MatchAll, un IsMatch ārpus Power Apps. Shēmai ir jāparādās kaut kur tekstā, taču tekstam nav ar to jāsākas vai jābeidzas. | Nepārveido regulāru izteiksmi. |
| MatchOptions.DotAll | Maina operatora . (punkts) darbību, lai tā atbilstu visām rakstzīmēm, ieskaitot jaunās rindiņas rakstzīmes. Nav pieejams Power Apps. |
Nepārveido regulāru izteiksmi. Šī opcija ir ekvivalenta standarta "s" modifikatoram regulārajām izteiksmēm. |
| MatchOptions.EndsWith | Shēmai ir jāatbilst teksta virknes beigām. | Pievieno $ regulāras izteiksmes beigām. |
| MatchOptions.FreeSpacing | Atstarpes rakstzīmes, ieskaitot jaunās rindiņas, regulārajā izteiksmē tiek ignorētas. Rindiņas beigu komentāri, kas sākas ar a # , tiek ignorēti. Nav pieejams Power Apps. |
Maina tikai regulāro izteiksmju sintaksi. Šī opcija ir ekvivalenta standarta "x" modifikatoram regulārajām izteiksmēm. |
| MatchOptions.IgnoreCase | Lielos un mazos burtus uztver kā identiskus. Pēc noklusējuma saskaņošana ir reģistrjutīga. | Nepārveido regulāru izteiksmi. Šī opcija ir standarta "i" modifikatora ekvivalents regulārajām izteiksmēm. |
| MatchOptions.Multiline | Maina līniju ^$ un atbilst līnijas beigās. |
Nepārveido regulāru izteiksmi. Šī opcija ir standarta "m" modifikatora ekvivalents regulārajām izteiksmēm. |
| MatchOptions.NumberedSubMatches | Priekšroka tiek dota nosauktiem tverumiem, jo tos ir vieglāk saprast un uzturēt. Uzlabojas arī veiktspēja, jo netiek saglabāti nevajadzīgie tverumi. Taču vecākām regulārajām izteiksmēm katra iekavu kopa tiek uzskatīta par numurētu tveršanu, kas rezultāta tabulā SubMatches ir iekļauta. Noklusējums Power Apps. | Nepārveido regulāru izteiksmi. Nosauktie tverumi ir atspējoti un \1 stila atpakaļ atsauces ir iespējotas. |
Lietošana MatchAll ir tāda pati kā standarta "g" modifikatora izmantošana regulārajām izteiksmēm.
Sintakse
IsMatch( Teksts, Raksts [, Opcijas ] )
- Teksts - Obligāts. Teksta virkne, kas jāpārbauda.
- Raksts - Obligāts. Shēma, ko pārbaudīt kā teksta virkni. Savienojiet iepriekš definētus uzskaitījuma definētos Match modeļus vai nodrošiniet regulāro izteiksmi. Modelim jābūt nemainīgai formulai bez mainīgajiem, datu avotiem vai citām dinamiskām atsaucēm, kas mainās programmas palaišanas laikā. Ņemiet vērā, ka formula jāizsaka kā ".Match PredefinedPattern", piem. Match E-pasts
- Iespējas - Pēc izvēles. MatchOptions uzskaitījuma vērtību teksta virkņu kombinācija. Pēc noklusējuma tiek izmantots MatchOptions.Complete. Opcijām jābūt nemainīgai formulai bez mainīgajiem, datu avotiem vai citām dinamiskām atsaucēm, kas mainās, palaižot programmu.
Match( Teksts, Raksts [, Opcijas ] )
- Teksts - Obligāts. Teksta virkne, kas jāsaskaņo.
- Raksts - Obligāts. Shēma, ko saskaņot kā teksta virkni. Savienojiet iepriekš definētus Match modeļus, ko definē uzskaitījums, vai nodrošiniet regulāru izteiksmi. Rakstam ir jābūt nemainīgai formulai bez mainīgajiem, datu avotiem vai citām dinamiskām atsaucēm, kas mainās programmas darbības laikā.
- Iespējas - Pēc izvēles. MatchOptions uzskaitījuma vērtību teksta virkņu kombinācija. Pēc noklusējuma tiek izmantots MatchOptions.Contains. Opcijām jābūt nemainīgai formulai bez mainīgajiem, datu avotiem vai citām dinamiskām atsaucēm, kas mainās, palaižot programmu.
MatchAll( Teksts, Raksts [, Opcijas ] )
- Teksts - Obligāts. Teksta virkne, kas jāsaskaņo.
- Raksts - Obligāts. Shēma, ko saskaņot kā teksta virkni. Savienojiet iepriekš definētus uzskaitījuma definētos Match modeļus vai nodrošiniet regulāro izteiksmi. Modelim jābūt nemainīgai formulai bez mainīgajiem, datu avotiem vai citām dinamiskām atsaucēm, kas mainās programmas palaišanas laikā.
- Iespējas - Pēc izvēles. MatchOptions uzskaitījuma vērtību teksta virkņu kombinācija. Pēc noklusējuma tiek izmantots MatchOptions.Contains. Opcijām jābūt nemainīgai formulai bez mainīgajiem, datu avotiem vai citām dinamiskām atsaucēm, kas mainās, palaižot programmu.
IsMatch Piemēri
Parastas rakstzīmes
Iedomājieties, ka jūsu programmai ir teksta ievades vadīkla ar nosaukumu TextInput1. Lietotāji ievada vērtības šajā vadīklā, lai tās saglabātu datu bāzē.
Lietotāji ieraksta Hello worldTextInput1.
| Formula | Apraksts | Rezultāts |
|---|---|---|
IsMatch( TextInput1.Text, "Hello world" ) |
Pārbauda, vai lietotāja ievade atbilst precīzi virknei "Hello world". | patiess |
IsMatch( TextInput1.Text, "Good bye" ) |
Pārbauda, vai lietotāja ievade atbilst precīzi virknei "Good bye". | nepatiess |
IsMatch( TextInput1.Text, "hello", Contains ) |
Pārbauda, vai lietotāja ievadē ir vārds "hello" (reģistrjutīgs). | nepatiess |
IsMatch( TextInput1.Text, "hello", Contains & IgnoreCase ) |
Pārbauda, vai lietotāja ievadē ir vārds "hello" (reģistrnejutīgs). | patiess |
Iepriekš definētas shēmas
| Formula | Apraksts | Rezultāts |
|---|---|---|
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 ) |
Atbilst Savienoto Valstu sociālās apdrošināšanas numuram | patiess |
IsMatch( "joan@contoso.com", Match.Email ) |
Atbilst e-pasta adresei | patiess |
IsMatch( "123.456", Match.MultipleDigits & Match.Period & Match.OptionalDigits ) |
Atbilst ciparu sekvencei, beigu punktam, pēc tam nullei vai vairākiem cipariem. | patiess |
IsMatch( "123", Match.MultipleDigits & Match.Period & Match.OptionalDigits ) |
Atbilst ciparu sekvencei, beigu punktam, pēc tam nullei vai vairākiem cipariem. Punkts neparādās saskaņojamajā tekstā, tāpēc šī shēma netiek saskaņota. | nepatiess |
Regulāras izteiksmes
| Formula | Apraksts | Rezultāts |
|---|---|---|
IsMatch( "986", "\d+" ) |
Atbilst veselam skaitlim, kas lielāks par nulli. | patiess |
IsMatch( "1.02", "\d+(\.\d\d)?" ) |
Atbilst pozitīvai valūtas summai. Ja ievadē ir iekļauts decimālpunkts, ievadē ir jābūt arī divām skaitliskām rakstzīmēm pēc decimālpunkta. Piemēram, 3,00 ir derīgs, bet 3,1 nav. | patiess |
IsMatch( "-4.95", "(-)?\d+(\.\d\d)?" ) |
Atbilst pozitīvai vai negatīvai valūtas summai. Ja ievadē ir iekļauts decimālpunkts, ievadē ir jābūt arī divām skaitliskām rakstzīmēm pēc decimālpunkta. | patiess |
IsMatch( "111-11-1111", "\d{3}-\d{2}-\d{4}" ) |
Atbilst Savienoto Valstu sociālās apdrošināšanas numuram Validē norādītā ievades lauka formātu, tipu un garumu. Saskaņojamajai virknei ir jāsastāv no trim skaitliskām rakstzīmēm, kurām seko domuzīme, pēc tam divām skaitliskām rakstzīmēm, kurām seko domuzīme, un pēc tam četrām skaitliskām rakstzīmēm. | patiess |
IsMatch( "111-111-111", "\d{3}-\d{2}-\d{4}" ) |
Tāds pats kā Iepriekšējais piemērs, bet viena no pārnesumzīmēm ievadē ir nevietā. | nepatiess |
IsMatch( "AStrongPasswordNot", "(?!^[0-9]\*$)(?!^[a-zA-Z]\*$)([a-zA-Z0-9]{8,10})" ) |
Validē drošu paroli, kurā jābūt astoņām, deviņām vai 10 rakstzīmēm, vismaz vienam ciparam un vismaz vienai alfabēta rakstzīmei. Virknē nedrīkst būt speciālās rakstzīmes. | nepatiess |
Match un MatchAll piemēri
| Formula | Apraksts | Rezultāts |
|---|---|---|
Match( "Bob Jones <bob.jones@contoso.com>", "<(?<email>" & Match.Email & ")>") |
Tiek izvilkta tikai kontaktinformācijas e-pasta daļa. | { e-pasts: "bob.jones@contoso.com", FullMatch: "<bob.jones@contoso.com>", Sākuma spēle: 11 } |
Match( "Bob Jones <InvalidEmailAddress>", "<(?<email>" & Match.Email & ")>" |
Tiek izvilkta tikai kontaktinformācijas e-pasta daļa. Nav atrasta juridiskā adrese (nav @ zīmes), tāpēc funkcija atgriež blank. | Tukša |
Match( Language(), "(<language>\w{2})(?:-(?<script>\w{4}))?(?:-(?<region>\w{2}))?" ) |
Izvelk valodas birkas valodas, skripta un reģiona daļu, ko atgriež funkcija Language. Šie rezultāti atspoguļo Savienotās Valstis; lai iegūtu vairāk piemēru, skatiet funkcijas Language dokumentāciju. (?: operatoru grupas rakstzīmes, neveidojot citu apakšatbilstību. | { valoda: "lv", script: blank, reģions: "ASV", FullMatch: "en-US", StartMatch: 1 } |
Match( "PT2H1M39S", "PT(?:(?<hours>\d+)H)?(?:(?<minutes>\d+)M)?(?:(?<seconds>\d+)S)?" ) |
Izvelk stundas, minūtes un sekundes no ISO 8601 ilguma vērtības. Izvilktie skaitļi joprojām ir teksta virknē; Izmantojiet funkciju Value, lai pārvērstu to par skaitli, pirms tajā tiek veiktas matemātiskās darbības. | { stundas: "2", minūtes: "1", sekundes: "39", FullMatch: "PT2H1M39S", StartMatch: 1 } |
Detalizētāk aplūkosim pēdējo piemēru. Ja vēlaties konvertēt šo virkni par datuma/laika vērtību, izmantojot funkciju Time , nosauktās apakšatbilstības ir jānodod atsevišķi. Lai to izdarītu, izmantojiet funkciju Ar , kas darbojas ierakstā, kas Match atgriež:
With(
Match( "PT2H1M39S", "PT(?:(?<hours>\d+)H)?(?:(?<minutes>\d+)M)?(?:(?<seconds>\d+)S)?" ),
Time( Value( hours ), Value( minutes ), Value( seconds ) )
)
Šiem piemēriem pievienojiet Button vadīklu, iestatiet tās rekvizītu OnSelect uz šo formulu un pēc tam atlasiet šo pogu:
Set( pangram, "The quick brown fox jumps over the lazy dog." )
| Formula | Apraksts | Rezultāts |
|---|---|---|
Match( pangram, "THE", IgnoreCase ) |
Atrodiet visas atbilstības "THE" atbilstības teksta virknē, ko satur mainīgais pangram. Virknē ir divas atbilstības, bet tiek atgriezta tikai pirmā, jo izmantojat Match , nevis MatchAll. | { FullMatch: "The", Sākuma spēle: 32 } |
MatchAll( pangram, "the" ) |
Atrodiet visas atbilstības "the" atbilstības teksta virknē, ko satur mainīgais pangram. Pārbaude ir reģistrjutīga, tāpēc tiek atrasta tikai otrā "the" instance. |
|
MatchAll( pangram, "the", IgnoreCase ) |
Atrodiet visas atbilstības "the" atbilstības teksta virknē, ko satur mainīgais pangram. Šajā gadījumā pārbaude ir reģistrnejutīga, tāpēc tiek atrastas abas vārda instances. |
|
MatchAll( pangram, "\b\wo\w\b" ) |
Atrod visus trīs burtu vārdus, kuru vidū ir "o". "brūns" ir izslēgts, jo tas nav trīs burtu vārds un tāpēc neatbilst "\b" (vārda robeža). |
|
Match( pangram, "\b\wo\w\b\s\*(?<between>\w.+\w)\s\*\b\wo\w\b" ) |
Sakrīt ar visām rakstzīmēm, kas ir starp "fox" un "dog". | { starp: "jumps over the lazy", FullMatch: "lapsa lec pāri slinkajam sunim", StartMatch: 17 } |
Lai skatītu rezultātus MatchAll galerijā:
Tukšā ekrānā ievietojiet tukšu vertikālu galerijas vadīklu.
Iestatiet galerijas rekvizītu Vienumi uz MatchAll( pangramma, "\w+" ) vai MatchAll( pangramma, Vairāki burti ).
Lai atlasītu galerijas veidni, galerijas vadīklas vidū atlasiet "Pievienot elementu no ievietošanas cilnes".
Galerijas veidnei pievienojiet vadīklu Label.
Iestatiet etiķetes rekvizītu Teksts uz ThisItem.FullMatch.
Galerija tiek aizpildīta ar katru vārdu mūsu piemēra tekstā. Lai skatītu visus vārdus vienā ekrānā, mainiet galerijas veidnes un etiķetes vadīklas izmērus.