Funkcie IsMatch, zhody a MatchAll v Power AppsIsMatch, Match, and MatchAll functions in Power Apps

Testuje zhodu alebo extrahuje časti textového reťazca na základe vzoru.Tests for a match or extracts portions of a text string based on a pattern.

Description (Popis)Description

Funkcia IsMatch testuje, či sa textový reťazec zhoduje so vzorom, ktorý sa môže skladať z obyčajných znakov, preddefinovaného vzoru alebo regulárneho výrazu.The IsMatch function tests whether a text string matches a pattern that can comprise ordinary characters, predefined patterns, or a regular expression. Funkcie zhody a MatchAll vrátia, čo sa zhodovalo, vrátane vedľajších zhôd.The Match and MatchAll functions return what was matched, including sub-matches.

Pomocou funkcie IsMatch môžete overiť, či používateľ zadal správny text do ovládacieho prvku Vstup textu .Use IsMatch to validate what a user has typed in a Text input control. Môžete napríklad overiť, či používateľ zadal platnú e-mailovú adresu predtým, než sa výsledok uloží do vášho zdroja údajov.For example, you can confirm whether the user has entered a valid email address before the result is saved to your data source. Ak zadaný text nespĺňa vaše kritériá, pridajte ďalšie prvky, ktorý používateľa vyzvú, aby zadaný text opravil.If the entry doesn't match your criteria, add other controls that prompt the user to correct the entry.

Pomocou funkcie zápasu môžete extrahovať prvý textový reťazec, ktorý sa zhoduje so vzorom a MatchAll , a extrahovať všetky textové reťazce, ktoré sa zhodujú.Use Match to extract the first text string that matches a pattern and MatchAll to extract all text strings that match. Môžete tiež extrahovať vedľajšie zhody na analýzu zložitých reťazcov.You can also extract sub-matches to parse complex strings.

Funkcia zápasu vráti záznam informácií o prvej nájdenej zhode a MatchAll vráti tabuľku záznamov pre každý nájdený zápas.Match returns a record of information for the first match found, and MatchAll returns a table of records for every match found. Záznam alebo záznamy obsahujú:The record or records contain:

StĺpecColumn TypType Description (Popis)Description
pomenované podriadené‑zhody alebo vedľajšie‑zhodynamed sub‑match or sub‑matches TextText Každý pomenovaný vedľajší zápas bude mať svoj vlastný stĺpec.Each named sub-match will have its own column. Vytvorte pomenovanú podpoložku pomocou funkcie (?<názov> ... ) v regulárnom výraze.Create a named sub-match by using (?<name>...) in the regular expression. Ak má pomenovaný vedľajší zápas rovnaký názov ako jeden z preddefinovaných stĺpcov (nižšie), vedľajší zápas má prioritu a vygeneruje sa upozornenie.If a named sub-match has the same name as one of the predefined columns (below), the sub-match takes precedence, and a warning is generated. Ak sa chcete vyhnúť tomuto upozorneniu, premenujte vedľajší zápas.To avoid this warning, rename the sub-match.
FullMatchFullMatch TextText Všetok textový reťazec, ktorý bol zhodný.All of the text string that was matched.
StartMatchStartMatch ČísloNumber Počiatočná pozícia zhody vo vstupnom textovom reťazci.The starting position of the match within the input text string. Prvý znak reťazca vráti hodnotu 1.The first character of the string returns 1.
PodzhodySubMatches Tabuľka s jedným stĺpcom textu ( hodnotastĺpca)Single-column table of Text (column Value) Tabuľka pomenovaných a nemenovaných vedľajších zhôd v poradie, v ktorom sa zobrazujú v regulárnom výraze.The table of named and unnamed sub-matches in the order in which they appear in the regular expression. Vo všeobecnosti sa s pomenovanými vedľajšími zhodami ľahšie pracuje a sú podporované.Generally, named sub-matches are easier to work with and are encouraged. Pomocou funkcie ForAll alebo Last ( ... )) môžete pracovať s jednotlivými vedľajšími zhodami.Use the ForAll function or Last( FirstN( ... ) ) functions to work with an individual sub-match. Ak sa v regulárnom výraze nedefinujú žiadne vedľajšie zhody, táto tabuľka bude prítomná, ale prázdna.If no sub-matches are defined in the regular expression, this table will be present but empty.

Tieto funkcie podporujú možností zhody.These functions support MatchOptions. V predvolenom nastavení:By default:

  • Tieto funkcie vykonávajú zhodu s rozlišovaním malých a veľkých písmen.These functions perform a case-sensitive match. Použite IgnoreCase na vykonanie zhody s rozlišovaním malých a veľkých písmen.Use IgnoreCase to perform case-insensitive matches.
  • IsMatch sa zhoduje s celým textovým reťazcom (Complete MatchOption), pričom sa zhoduje a MatchAll hľadanie zhody kdekoľvek v textovom reťazci (obsahuje MatchOption).IsMatch matches the entire text string (Complete MatchOption), while Match and MatchAll search for a match anywhere in the text string (Contains MatchOption). Použite kompletnú, obsahuje, BeginsWithalebo endswith , ako je to vhodné pre váš scenár.Use Complete, Contains, BeginsWith, or EndsWith as appropriate for your scenario.

AK sa textový reťazec so vzorom zhoduje, funkcia IsMatch vráti hodnotu true (pravda), v opačnom prípade vráti hodnotu false (nepravda).IsMatch returns true if the text string matches the pattern or false if it doesn't. Funkcia zápasu vráti prázdnu hodnotu, ak sa nenájde žiadna zhoda, ktorá sa dá testovať pomocou funkcie IsBlank .Match returns blank if no match is found that can be tested with the IsBlank function. MatchAll vráti prázdnu tabuľku, ak sa nenájde žiadna zhoda, ktorá sa dá testovať pomocou funkcie isEmpty .MatchAll returns an empty table if no match is found that can be tested with the IsEmpty function.

Ak používate MatchAll na rozdelenie textového reťazca, skúste použiť funkciu rozdelenia , ktorá sa jednoduchšie používa a urýchľuje.If you're using MatchAll to split a text string, consider using the Split function, which is simpler to use and faster.

VzoryPatterns

Kľúčom k použitiu týchto funkcií je popis vzoru, ktorý sa má zhodovať.The key to using these functions is in describing the pattern to match. Vzor v textovom reťazci sa popisuje ako kombinácia:You describe the pattern in a text string as a combination of:

  • obyčajných znakov, napríklad "abc" alebo "123" ;Ordinary characters, such as "abc" or "123".
  • preddefinovaných vzorov, napríklad Letter (písmeno), MultipleDigits (viacero číslic) alebo EmailPredefined patterns, such as Letter, MultipleDigits, or Email. (tieto vzory sú definované v zozname zhôd);(The Match enum defines these patterns.)
  • Kódy regulárnych výrazov, ako napríklad "\d + \s + \d +" alebo "[a-z] +" .Regular-expression codes, such as "\d+\s+\d+" or "[a-z]+".

Skombinujte tieto prvky pomocou & operátora reťazca zreťazenia .Combine these elements by using the string-concatenation operator &. Napríklad "abc" & Digit & "\s+" je platný vzor, ktorý sa zhoduje so znakmi "a", "b" a "c", za ktorými nasleduje číslica od 0 do 9, za ktorou nasleduje aspoň jeden prázdny znak.For example, "abc" & Digit & "\s+" is a valid pattern that matches the characters "a", "b", and "c", followed by a digit from 0 to 9, followed by at least one whitespace character.

Bežné znakyOrdinary characters

Najjednoduchším vzorom je postupnosť bežných znakov, ktoré sa majú presne zhodovať.The simplest pattern is a sequence of ordinary characters to be matched exactly.

Ak sa napríklad používa s funkciou IsMatch , reťazec "Hello" sa presne zhoduje so vzorom "Hello ".For example, when used with the IsMatch function, the string "Hello" matches the pattern "Hello" exactly. O nič viac a o nič menej.No more and no less. Reťazec "ahoj!"The string "hello!" nezhoduje so vzorom z dôvodu výkričníka na konci a preto, že prípad je nesprávny pre písmeno h.doesn't match the pattern because of the exclamation point on the end and because the case is wrong for the letter "h". (Spôsoby, ako toto správanie upraviť, nájdete v časti Možnosti zhody.)(See MatchOptions for ways to modify this behavior.)

V jazyku vzoru sú niektoré znaky vyhradené pre zvláštne účely.In the pattern language, certain characters are reserved for special purposes. Ak chcete použiť tieto znaky, buď predpona znaku \ (opačná lomka) na označenie toho, že znak sa má vykonať doslova, alebo použite jeden z preddefinovaných vzorov popísaných ďalej v tejto téme.To use these characters, either prefix the character with a \ (backslash) to indicate that the character should be taken literally, or use one of the predefined patterns described later in this topic. Špeciálne znaky sú uvedené v tejto tabuľke:This table lists the special characters:

Špeciálny znakSpecial character Description (Popis)Description
.. bodka alebo čiarkadot or period
?? otáznikquestion mark
** hviezdičkaasterisk
+ plusplus
( )( ) zátvorkamiparentheses
[ ][ ] hranaté zátvorkysquare brackets
{ }{ } zložené zátvorkycurly braces
^ strieškacaret
$ znak doláradollar sign
| zvislá čiaravertical bar or pipe
\ spätná lomkabackslash

Napríklad môžete použiť zhodu reťazca "Dobrý deň?"For example, you can match "Hello?" pomocou vzoru "Dobrý deň\?"by using the pattern "Hello\?" so spätnou lomkou pred otáznikom.with a backslash before the question mark.

Preddefinované vzoryPredefined patterns

Preddefinované vzory poskytujú jednoduchý spôsob, ako sa prispôsobiť jednému z množiny znakov alebo sekvencii viacerých znakov.Predefined patterns provide a simple way to match either one of a set of characters or a sequence of multiple characters. Pomocou operátora zreťazenia reťazca & kombinovať vlastné textové reťazce s členmi enumerácie zhody :Use the string-concatenation operator & to combine your own text strings with members of the Match enum:

Rozlišovať enumeráciuMatch enum Description (Popis)Description Regulárny výrazRegular expression
AnyAny Skontroluje zhodu s ľubovoľným znakom.Matches any character. .
CommaComma Skontroluje zhodu s čiarkou.Matches a comma. ;
DigitDigit Skontroluje zhodu s jednou číslicou (0 až 9).Matches a single digit ("0" through "9"). \d
EmailEmail Skontroluje zhodu s e-mailovú adresou, ktorá obsahuje symbol „zavináča“ (@) a názov domény obsahujúci bodku (.)Matches an email address that contains an "at" symbol ("@") and a domain name that contains a dot (".") .+\@.+\\.[^\\.]{2;}
SpojovníkHyphen Skontroluje zhodu so spojovníkom.Matches a hyphen. \-
LeftParenLeftParen Skontroluje zhodu s ľavou zátvorkou (.Matches a left parenthesis "(". \(
LetterLetter Skontroluje zhodu s písmenom.Matches a letter. \p{L}
MultipleDigitsMultipleDigits Zhoduje s jedným alebo viacerými číslicami.Matches one or more digits. \d+
MultipleLettersMultipleLetters Skontroluje zhodu s viacerými písmenami.Matches one or more letters. \p{L}+
MultipleNonSpacesMultipleNonSpaces Zodpovedá jednému alebo viacerým znakom, ktoré nepridávajú prázdne znaky (nie medzeru, kartu ani nový riadok).Matches one or more characters that don't add whitespace (not space, tab, or newline). \S+
MultipleSpacesMultipleSpaces Zodpovedá jednému alebo viacerým znakom, ktoré pridávajú prázdne znaky (medzera, karta alebo nový riadok).Matches one or more characters that add whitespace (space, tab, or newline). \s+
NonSpaceNonSpace Skontroluje zhodu s jedným znakom, ktorý nepridáva prázdny znak.Matches a single character that doesn't add whitespace. \S
OptionalDigitsOptionalDigits Skontroluje zhodu s žiadnou, jednou alebo viacerými číslicami.Matches zero, one, or more digits. \d*
OptionalLettersOptionalLetters Skontroluje zhodu s žiadnym, jedným alebo viacerými písmenami.Matches zero, one, or more letters. \p{L}*
OptionalNonSpacesOptionalNonSpaces Skontroluje zhodu s žiadnym, jedným alebo viacerými znakmi, ktoré nepridávajú prázdny znak.Matches zero, one, or more characters that don't add whitespace. \S*
OptionalSpacesOptionalSpaces Skontroluje zhodu s žiadnym, jedným alebo viacerými znakmi, ktoré pridávajú prázdny znak.Matches zero, one, or more characters that add whitespace. \s*
PeriodPeriod Skontroluje zhodu s bodkou (.).Matches a period or dot ("."). \.
RightParenRightParen Skontroluje zhodu s pravou zátvorkou (.Matches a right parenthesis ")". \)
SpaceSpace Skontroluje zhodu so znakom, ktorý pridáva prázdny znak.Matches a character that adds whitespace. \s

Napríklad vzor "A" & MultipleDigits skontroluje zhodu s písmenom „A“, za ktorým nasleduje jedna alebo viacero číslic.For example, the pattern "A" & MultipleDigits will match the letter "A" followed by one or more digits.

Regulárne výrazyRegular expressions

Vzor, ktorý používajú tieto funkcie, je regulárny výraz.The pattern that these functions use is a regular expression. Bežné znaky a preddefinované vzory, ktoré sú popísané vyššie v tejto téme, pomáhajú vytvárať regulárne výrazy.The ordinary characters and predefined patterns that are described earlier in this topic help build regular expressions.

Regulárne výrazy sú veľmi účinné, dostupné v rôznych programovacích jazykoch a používajú sa na najrôznejšie účely.Regular expressions are very powerful, available in many programming languages, and used for a wide variety of purposes. Môžu tiež často vyzerať ako náhodná sekvencia interpunkčných znamienok.They can also often look like a random sequence of punctuation marks. Tento článok nepopisuje všetky aspekty regulárnych výrazov, ale množstvo informácií, kurzov a nástrojov je k dispozícii na webe.This article doesn't describe all aspects of regular expressions, but a wealth of information, tutorials, and tools are available on the web.

Regulárne výrazy sa vyskytujú v rôznych dialektoch a Power Apps používa variant dialektu jazyka JavaScript.Regular expressions come in different dialects, and Power Apps uses a variant of the JavaScript dialect. Úvod do syntaxe nájdete v téme syntax regulárnych výrazov .See regular-expression syntax for an introduction to the syntax. Podporované sú pomenované vedľajšie zhody (niekedy nazývané skupiny s názvom Capture):Named sub-matches (sometimes called named capture groups) are supported:

  • Pomenované vedľajšie zhody: (?<názov>...)Named sub-matches: (?<name> ...)
  • Názov backreferences: \k<>Named backreferences: \k<name>

V tabuľke zhody enumerácie uvedenej vyššie v tejto téme sa každá enumerácia zobrazí v rovnakom riadku ako zodpovedajúci regulárny výraz.In the Match enum table earlier in this topic, each enum appears in the same row as its corresponding regular expression.

Možnosti zhodyMatch options

Správanie týchto funkcií môžete upraviť zadaním jednej alebo viacerých možností, ktoré môžete kombinovať pomocou operátora string-zreťazenie ( & ).You can modify the behavior of these functions by specifying one or more options, which you can combine by using the string- concatenation operator (&).

Možností zhody enumeráciaMatchOptions enum Description (Popis)Description Vplyv na regulárny výrazImpact on a regular expression
BeginsWithBeginsWith Vzor sa musí zhodovať od začiatku textu.The pattern must match from the beginning of the text. Pridá ^ na začiatok regulárneho výrazu.Adds a ^ to the start of the regular expression.
CompleteComplete Predvolená hodnota pre IsMatch.Default for IsMatch. Vzor sa musí zhodovať s celým reťazcom textu od začiatku až do konca.The pattern must match the entire string of text, from beginning to end. Pridá ^ na začiatok a $ na koniec regulárneho výrazu.Adds a ^ to the start and a $ to the end of the regular expression.
ContainsContains Predvolená hodnota pre zhodu a MatchAll.Default for Match and MatchAll. Vzor sa musí nachádzať niekde v texte, ale nemusí byť na začiatku ani na konci.The pattern must appear somewhere in the text but doesn't need to begin or end it. Nezmení regulárny výraz.Doesn't modify the regular expression.
EndsWithEndsWith Vzor sa musí zhodovať s koncom reťazca textu.The pattern must match the end of the string of text. Pridá $ na koniec regulárneho výrazu.Adds a $ to the end of the regular expression.
IgnoreCaseIgnoreCase Zaobchádza s veľkými a malými písmenami ako identické.Treats uppercase and lowercase letters as identical. V predvolenom nastavení sa veľkosť písmen rozlišuje.By default, matching is case sensitive. Nezmení regulárny výraz.Doesn't modify the regular expression. Táto možnosť je ekvivalentom štandardného modifikátora i pre regulárne výrazy.This option is the equivalent of the standard "i" modifier for regular expressions.
MultilineMultiline Kontroluje zhodu na viacerých riadkoch.Matches across multiple lines. Nezmení regulárny výraz.Doesn't modify the regular expression. Táto možnosť je ekvivalentom štandardného modifikátora "m" pre regulárne výrazy.This option is the equivalent of the standard "m" modifier for regular expressions.

Použitie MatchAll je rovnocenné s používaním štandardného modifikátora g pre regulárne výrazy.Using MatchAll is equivalent to using the standard "g" modifier for regular expressions.

SyntaxSyntax

IsMatch( Text; Vzor [; Možnostii ] )IsMatch( Text; Pattern [; Options ] )

  • Text – povinné.Text – Required. Textový reťazec, ktorý sa má otestovať.The text string to test.
  • Pattern – povinné.Pattern – Required. Vzor, ktorý sa má testovať ako textový reťazec.The pattern to test as a text string. Zlúčite preddefinované vzory, ktoré definuje enumerácia zhody , alebo uveďte regulárny výraz.Concatenate predefined patterns that the Match enum defines, or provide a regular expression. Vzor musí byť konštantný vzorec bez premenných, zdrojov údajov alebo iných dynamických odkazov, ktoré sa menia pri spustení aplikácie.Pattern must be a constant formula without any variables, data sources, or other dynamic references that change as the app runs.
  • Možnosti – voliteľné.Options – Optional. Kombinácia textového reťazca hodnôt možností zhody enumerácie.A text-string combination of MatchOptions enum values. V predvolenom nastavení sa používa MatchOptions.Complete.By default, MatchOptions.Complete is used.

Zhoda( text; vzor [; Možnosti ])Match( Text; Pattern [; Options ] )

  • Text – povinné.Text – Required. Textový reťazec, ktorý sa má zhodovať.The text string to match.
  • Pattern – povinné.Pattern – Required. Vzor, ktorý sa má zhodovať s textovými reťazcami.The pattern to match as a text string. Zlúčite preddefinované vzory, ktoré definuje enumerácia zhody , alebo uveďte regulárny výraz.Concatenate predefined patterns that the Match enum defines, or provide a regular expression. Vzor musí byť konštantný vzorec bez premenných, zdrojov údajov alebo iných dynamických odkazov, ktoré sa menia pri spustení aplikácie.Pattern must be a constant formula without any variables, data sources, or other dynamic references that change as the app runs.
  • Možnosti – voliteľné.Options – Optional. Kombinácia textového reťazca hodnôt možností zhody enumerácie.A text-string combination of MatchOptions enum values. V predvolenom nastavení sa používa možností zhody. obsahuje .By default, MatchOptions.Contains is used.

MatchAll( text; vzor [; Možnosti ])MatchAll( Text; Pattern [; Options ] )

  • Text – povinné.Text – Required. Textový reťazec, ktorý sa má zhodovať.The text string to match.
  • Pattern – povinné.Pattern – Required. Vzor, ktorý sa má zhodovať s textovými reťazcami.The pattern to match as a text string. Zlúčite preddefinované vzory, ktoré definuje enumerácia zhody , alebo uveďte regulárny výraz.Concatenate predefined patterns that the Match enum defines, or provide a regular expression. Vzor musí byť konštantný vzorec bez premenných, zdrojov údajov alebo iných dynamických odkazov, ktoré sa menia pri spustení aplikácie.Pattern must be a constant formula without any variables, data sources, or other dynamic references that change as the app runs.
  • Možnosti – voliteľné.Options – Optional. Kombinácia textového reťazca hodnôt možností zhody enumerácie.A text-string combination of MatchOptions enum values. V predvolenom nastavení sa používa možností zhody. obsahuje .By default, MatchOptions.Contains is used.

Príklady IsMatchIsMatch examples

Bežné znakyOrdinary characters

Predstavte si, že vaša aplikácia obsahuje ovládací prvok Vstup textu s názvom VstupTextu1.Imagine that your app contains a Text input control named TextInput1. Používateľ zadá do tohto ovládacieho prvku hodnoty, ktoré sa majú uložiť do databázy.The user enters values into this control to be stored in a database.

Používateľ do prvku VstupTextu1 napíše Hello world.The user types Hello world into TextInput1.

VzorecFormula Description (Popis)Description VýsledokResult
IsMatch( TextInput1.Text; "Hello world" ) Testuje, či sa vstup používateľa zhoduje, presne reťazec "Hello World".Tests whether the user's input matches, exactly, the string "Hello world". truetrue
IsMatch( TextInput1.Text; "Good bye" ) Testuje, či sa vstup používateľa zhoduje, presne reťazec "Good bye".Tests whether the user's input matches, exactly, the string "Good bye". falsefalse
IsMatch( TextInput1.Text; "hello"; Contains ) Testuje, či vstup používateľa obsahuje slovo "Hello" (rozlišujú sa veľké a malé písmená).Tests whether the user's input contains the word "hello" (case sensitive). falsefalse
IsMatch( TextInput1.Text; "hello"; Contains & IgnoreCase ) Skontroluje, či zadanie používateľa obsahuje slovo „hello“ (bez rozlíšenia veľkosti písmen).Tests whether the user's input contains the word "hello" (case insensitive). truetrue

Preddefinované vzoryPredefined patterns

VzorecFormula Description (Popis)Description VýsledokResult
IsMatch( "123-45-7890"; Digit & Digit & Digit & Hyphen & Digit & Digit & Hyphen & Digit & Digit & Digit & Digit ) Zodpovedá číslu sociálneho poistenia v USA.Matches a United States Social Security Number truetrue
IsMatch( "joan@contoso.com"; Email ) Zodpovedá e-mailovej adrese.Matches an email address truetrue
IsMatch( "123.456"; MultipleDigits & Period & OptionalDigits ) Zodpovedá postupnosti číslic nasledovanej bodkou a potom žiadnou alebo viacerými číslicami.Matches a sequence of digits, a period, and then zero or more digits. truetrue
IsMatch( "123"; MultipleDigits & Period & OptionalDigits ) Zodpovedá postupnosti číslic nasledovanej bodkou a potom žiadnou alebo viacerými číslicami.Matches a sequence of digits, a period, and then zero or more digits. Bodka sa nezobrazuje v texte, ktorý sa má zhodovať, takže tento vzor sa nezhoduje.A period doesn't appear in the text to match, so this pattern isn't matched. falsefalse

Regulárne výrazyRegular expressions

VzorecFormula Description (Popis)Description VýsledokResult
IsMatch( "986"; "\d+" ) Zhoduje sa s celým číslom väčším ako nula.Matches an integer greater than zero. truetrue
IsMatch( "1.02"; "\d+(\.\d\d)?" ) Zodpovedá kladnej peňažnej čiastke.Matches a positive currency amount. Ak vstup obsahuje desatinné miesto, vstup musí obsahovať dva číselné znaky za desatinnou čiarkou.If the input contains a decimal point, the input must also contain two numeric characters after the decimal point. Napríklad 3.00 je platné, ale 3.1 nie je.For example, 3.00 is valid, but 3.1 isn't. truetrue
IsMatch( "-4.95"; "(-)?\d+(\.\d\d)?" ) Zodpovedá kladnej alebo zápornej peňažnej čiastke.Matches a positive or negative currency amount. Ak vstup obsahuje desatinné miesto, vstup musí obsahovať dva číselné znaky za desatinnou čiarkou.If the input contains a decimal point, the input must also contain two numeric characters after the decimal point. truetrue
IsMatch( "111-11-1111"; "\d{3}-\d{2}-\d{4}" ) Zodpovedá číslu sociálneho poistenia v USA.Matches a United States Social Security number. Overí formát, typ a dĺžku zadaného poľa.Validates the format, type, and length of the supplied input field. Reťazec, ktorý sa má zhodovať, musí pozostávať z troch číselných znakov, za ktorými nasleduje pomlčka, potom dve číselné znaky, za ktorými nasleduje pomlčka, a potom štyri číselné znaky.The string to match must consist of three numeric characters followed by a dash, then two numeric characters followed by a dash, and then four numeric characters. truetrue
IsMatch( "111-111-111"; "\d{3}-\d{2}-\d{4}" ) Rovnaké ako predchádzajúci príklad, ale jeden zo spojovníkov nie je v zadaní na správnom mieste.Same as the previous example, but one of the hyphens is out of place in the input. falsefalse
IsMatch( "AStrongPasswordNot"; "(?!^[0-9]\*$)(?!^[a-zA-Z]\*$)([a-zA-Z0-9]{8,10})" ) Overí silné heslo, ktoré musí obsahovať osem, deväť alebo 10 znakov, okrem aspoň jednej číslice a aspoň jedného abecedného znaku.Validates a strong password, which must contain eight, nine, or 10 characters, in addition to at least one digit and at least one alphabetic character. Reťazec nesmie obsahovať špeciálne znaky.The string must not contain special characters. falsefalse
IsMatch( "<https://microsoft.com>"; "(ht&#124;f)tp(s?)\:\/\/\[0-9a-zA-Z\]([-.\w]\*[0-9a-zA-Z])\*(:(0-9)\*)\*(\/?)([a-zA-Z0-9\-\.\?\,\'\/\\\+&%\$#_]\*)?" ) Overí URL adresu s protokolom http, https alebo ftp.Validates an http, https, or ftp URL. truetrue

Príklady zhody a MatchAllMatch and MatchAll examples

VzorecFormula Description (Popis)Description VýsledokResult
Match( "Bob Jones <bob.jones@contoso.com>"; "<(?<email>" & Match.Email & ")>" Extrahuje iba časť e-mailu kontaktných informácií.Extracts only the email portion of the contact information. {{
e-mail: "bob.jones@contoso.com",email: "bob.jones@contoso.com",
FullMatch: "<bob.jones@contoso.com>",FullMatch: "<bob.jones@contoso.com>",
Podzhody: [ "bob.jones@contoso.com" ],SubMatches: [ "bob.jones@contoso.com" ],
StartMatch: 11StartMatch: 11
}}
Match( "Bob Jones <InvalidEmailAddress>"; "<(?<email>" & Match.Email & ")>" Extrahuje iba časť e-mailu kontaktných informácií.Extracts only the email portion of the contact information. Nenašla sa žiadna právna adresa (nie je znak @), takže funkcia vráti prázdnuhodnotu.No legal address is found (there is no @ sign), so the function returns blank. prázdna hodnotablank
Match( Language(); "(<language>\w{2})(?:-(?<script>\w{4}))?(?:-(?<region>\w{2}))?" ) Extrahuje časti jazyka, skriptu a oblasti jazykovej značky, ktoré funkcia language vráti.Extracts the language, script, and region portions of the language tag that the Language function returns. Tieto výsledky odrážajú Spojené štáty; Ďalšie príklady nájdete v dokumentácii k funkciám jazyka .These results reflect the United States; see the Language function documentation for more examples. (?: Znaky skupín operátora bez vytvárania ďalšieho vedľajšieho zápasu.The (?: operator groups characters without creating another sub-match. {{
jazyk: "en",language: "en",
skript: prázdny,script: blank,
oblasť: "USA",region: "US",
FullMatch: "en-US",FullMatch: "en-US",
Podzhody: ["en", "", "US"],SubMatches: [ "en", "", "US" ],
StartMatch: 1StartMatch: 1
}}
Match( "PT2H1M39S"; "PT(?:<hours>\d+)H)?(?:(?<minutes>\d+)M)?(?:(?<seconds>\d+)S)?" ) Extrahuje hodiny, minúty a sekundy z hodnoty trvania ISO 8601.Extracts the hours, minutes, and seconds from an ISO 8601 duration value. Extrahované čísla sú stále v textovom reťazci. pomocou funkcie Value ju môžete skonvertovať na číslo ešte predtým, ako sa na nej vykonajú matematické operácie.The extracted numbers are still in a text string; use the Value function to convert it to a number before mathematical operations are performed on it. {{
hodiny: "2",hours: "2",
minúty: "1",minutes: "1",
sekundy: "39",seconds: "39",
FullMatch: "PT2H1M39S",FullMatch: "PT2H1M39S",
Podzhoda: [ "2", "1", "39" ],SubMatches: [ "2", "1", "39" ],
StartMatch: 1StartMatch: 1
}}

Pozrime sa na tento posledný príklad.Let's drill into that last example. Ak by ste chceli skonvertovať tento reťazec na hodnotu dátumu a času pomocou funkcie time , musíte prejsť v pomenovaných podriadených jednotlivých.If you wanted to convert this string to a date/time value using the Time function, you must pass in the named sub-matches individually. Ak to chcete urobiť, môžete použiť funkciu with s fungujúcou v zázname, ktorý sa zhoduje s vrátením:To do this, you can use the With function operating on the record that Match returns:

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

V týchto príkladoch pridajte ovládací prvok tlačidlo , nastavte jeho vlastnosť OnSelect na tento vzorec a potom vyberte tlačidlo:For these examples, add a Button control, set its OnSelect property to this formula, and then select the button:

Set( pangram; "The quick brown fox jumps over the lazy dog." )
VzorecFormula Description (Popis)Description VýsledokResult
Match( pangram; "THE"; IgnoreCase ) Vyhľadajte všetky zhody v textovom reťazci, ktorý obsahuje premenná pangram .Find all matches of "THE" in the text string that the pangram variable contains. Reťazec obsahuje dve zhody, ale iba prvý sa vráti, pretože používate zhodu a nie MatchAll.The string contains two matches, but only the first is returned because you're using Match and not MatchAll. Stĺpec podzhôd je prázdny, pretože neboli definované žiadne vedľajšie zhody.The SubMatches column is empty because no sub-matches were defined. {{
FullMatch: ",FullMatch: "The",
Podzhody: [ ],SubMatches: [ ],
StartMatch: 32StartMatch: 32
}}
MatchAll( pangram; "the" ) Vyhľadajte všetky zhody v textovom reťazci, ktorý obsahuje premenná pangram .Find all matches of "the" in the text string that the pangram variable contains. Test rozlišuje malé a veľké písmená, takže sa nájde len druhá inštancia "The".The test is case sensitive, so only the second instance of "the" is found. Stĺpec podzhôd je prázdny, pretože neboli definované žiadne vedľajšie zhody.The SubMatches column is empty because no sub-matches were defined.
MatchAll( pangram; "the"; IgnoreCase ) Vyhľadajte všetky zhody v textovom reťazci, ktorý obsahuje premenná pangram .Find all matches of "the" in the text string that the pangram variable contains. V tomto prípade sa v teste rozlišujú malé a veľké písmená, takže sa nájdu obidve inštancie slova.In this case, the test is case insensitive, so both instances of the word are found. Stĺpec podzhôd je prázdny, pretože neboli definované žiadne vedľajšie zhody.The SubMatches column is empty because no sub-matches were defined.
MatchAll( pangram; "\b\wo\w\b" ) Vyhľadá všetky tri písmená s textom "o" uprostred.Finds all three-letter words with an "o" in the middle. Všimnite si, že "Brown" je vylúčený, pretože nejde o troch-písmeno slova, a preto sa nezhoduje s "\b" (slovo hranica).Note that "brown" is excluded because it's not a three-letter word and, therefore, fails to match "\b" (word boundary).
Match( pangram; "\b\wo\w\b\s\*(?<between>\w.+\w)\s\*\b\wo\w\b" ) Zhoduje so všetkými znakmi medzi "Fox" a "Dog".Matches all the characters between "fox" and "dog". {{
medzi: "skoky nad  lenivý",between: "jumps over the lazy",
FullMatch: "Fox skoky cez  lenivý pes",FullMatch: "fox jumps over the lazy dog",
Podzhody: ["skoky cez lenivé"],SubMatches: [ "jumps over the lazy" ],
StartMatch: 17StartMatch: 17
}}

Ak chcete zobraziť výsledky MatchAll v galérii:To see the results of MatchAll in a gallery:

  1. Na prázdnej obrazovke vložte prázdny ovládací prvok zvislej galérie .In an empty screen, insert a blank vertical Gallery control.

  2. Nastavte vlastnosť Items galérie na MatchAll (pangram, "\w +") alebo MatchAll (pangram, MultipleLetters) .Set the gallery's Items property to MatchAll( pangram; "\w+" ) or MatchAll( pangram; MultipleLetters ).

  3. Vyberte položku Pridať položku z karty vložiť v strede ovládacieho prvku Galéria a vyberte šablónu galérie.Select "Add an item from the Insert tab" in the middle of the gallery control to select the template of the gallery.

  4. Pridajte ovládací prvok označenie do šablóny galérie.Add a Label control to the gallery's template.

  5. Nastavte vlastnosť text označenia na ThisItem. FullMatch.Set the label's Text property to ThisItem.FullMatch.

    Galéria je vyplnená každým slovom v našom vzorovom texte.The gallery is filled with each word in our example text. Zmeňte veľkosť šablóny galérie a ovládacieho prvku označenie tak, aby sa zobrazili všetky slová na jednej obrazovke.Resize the gallery's template and the label control in order to see all the words on one screen.