Funkcia IsMatch v službe PowerAppsIsMatch function in PowerApps

Testuje, či sa textový reťazec zhoduje so vzorom.Tests whether a text string matches a pattern.

PopisDescription

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.

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.

V predvolenom nastavení funkcia IsMatch skontroluje zhodu celého textového reťazca s rozlíšením veľkých a malých písmen.By default, IsMatch performs a case-sensitive match for the entire text string. Toto správanie môžete zmeniť tak, že určíte jednu alebo viacero možností zhody.You can modify this behavior by specifying one or more MatchOptions.

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.

VzoryPatterns

Základom používania funkcie IsMatch je popísanie vzoru, s ktorým sa má reťazec zhodovať.The key to using IsMatch 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.)
  • regulárnych výrazov, napríklad "\d+\s+\d+" alebo "[a-z]+".Regular expressions codes, such as "\d+\s+\d+" or "[a-z]+".

Tieto prvky môžete kombinovať pomocou operátora pre zreťazenie reťazcov&.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.

Napríklad reťazec "Ahoj" sa presne zhoduje so vzorom "Ahoj".For example, 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!" sa nezhoduje so vzorom z dôvodu výkričníka na konci a písmeno „a“ na začiatku je na rozdiel od vzoru malé.doesn't match the pattern because of the exclamation point on the end and 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ď pred znak napíšte \ (opačná lomka) na znamenie, že sa má znak brať doslova, prípadne použite niektorý z preddefinovaných vzorov.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. Špeciálne znaky sú uvedené v tejto tabuľke:This table lists the special characters:

Špeciálny znakSpecial character PopisDescription
.. bodka alebo čiarkadot or period
?? otáznikquestion mark
** hviezdičkaasterisk
+ plusplus
( )( ) jednoduché zátvorkyparenthesis
[ ][ ] 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 nájsť zhodu s jedným zo skupiny znakov alebo s postupnosťou viacerých znakov.Predefined patterns provide a simple way to match one of a set of characters, or a sequence of multiple characters. Pomocou operátora pre zreťazenie reťazcov & môžete svoje vlastné textové reťazce skombinovať s členmi zoznamu zhôd:Use the string concatenation operator & to combine your own text strings with members of the Match enum:

Zoznam zhôdMatch Enum PopisDescription 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\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,}.+@.+\.[^\.]{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}\p{L}
MultipleDigitsMultipleDigits Skontroluje zhodu s viacerými číslicami.Matches one or more digitis. \d+\d+
MultipleLettersMultipleLetters Skontroluje zhodu s viacerými písmenami.Matches one or more letters. \p{L}+\p{L}+
MultipleNonSpacesMultipleNonSpaces Skontroluje zhodu s jedným alebo viacerými znakmi, ktoré nepridávajú prázdny znak (medzera, tabulátor, nový riadok).Matches one or more characters that don't add whitespace (space, tab, newline). \S+\S+
MultipleSpacesMultipleSpaces Skontroluje zhodu s jedným alebo viacerými znakmi, ktoré pridávajú prázdny znak (medzera, tabulátor, nový riadok).Matches one or more characters that add whitespace (space, tab, newline). \s+\s+
NonSpaceNonSpace Skontroluje zhodu s jedným znakom, ktorý nepridáva prázdny znak.Matches a single character that doesn't add whitespace. \S\S
OptionalDigitsOptionalDigits Skontroluje zhodu s žiadnou, jednou alebo viacerými číslicami.Matches zero, one, or more digits. \d\d
OptionalLettersOptionalLetters Skontroluje zhodu s žiadnym, jedným alebo viacerými písmenami.Matches zero, one, or more letters. \p{L}\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\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\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\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 použitý funkciou IsMatch je regulárny výraz.The pattern used by IsMatch is a regular expression. Na vytváranie regulárnych výrazov pomáhajú obyčajné znaky a preddefinované vzory, ktoré sú popísané vyššie.The ordinary characters and predefined patterns that are described above 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. Tento článok nemôže opísať všetky aspekty regulárnych výrazov, ale môže vám pomôcť veľké množstvo informácii a pokynov, ktoré nájdete na internete.This article can't describe all aspects of regular expressions, but a wealth of information and tutorials are published on the web to aid you.

Regulárne výrazy majú rôzne dialekty a služba PowerApps používa variant dialektu JavaScriptu.Regular expressions have different dialects, and PowerApps uses a variant of the JavaScript dialect. Ďalšie informácie nájdete v syntaxi regulárnych výrazov.For more information, see regular expression syntax.

V tabuľke zoznamu zhôd vyššie sa každá položka zoznamu dá zapísať regulárnym výrazom a textový reťazec v stĺpci Regulárny výraz tento výraz definuje.In the Match enum table above, each enum expands into a regular expression, and the text string in the "Regular Expression" column defines that expression.

Možnosti zhodyMatch options

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

V predvolenom nastavení funkcia IsMatch testuje úplnú zhodu celého textového reťazca.By default, IsMatch tests for a complete match of the entire text string.

Zoznam možností zhodyMatchOptions Enum PopisDescription Vplyv na regulárny výrazImpact on 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é.Default. Vzor sa musí zhodovať s celým textom od začiatku do konca.The pattern must match the entire text, from beginning to end. Pridá ^ na začiatok a $ na koniec regulárneho výrazu.Adds a ^ to the start and $ to the end of the regular expression.
ContainsContains 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 textu.The pattern must match the end of the text. Pridá $ na koniec regulárneho výrazu.Adds a $ to the end of the regular expression.
IgnoreCaseIgnoreCase Ignoruje veľkosť písmen.Treats the matching of letters in a case-insensitive manner. 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.
MultilineMultiline Kontroluje zhodu na viacerých riadkoch.Matches across multiple lines. Nezmení regulárny výraz.Doesn't modify the regular expression.

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.
  • Vzor – povinné.Pattern – Required. Vzor na otestovanie, napríklad textový reťazec.The pattern to test, as a text string. Zreťazte preddefinované vzory, ktoré definuje zoznam zhôd, alebo zadajte regulárny výraz.Concatenate predefined patterns that the Match enum defines or provide a regular expression.
  • Možnosti – voliteľné.Options – Optional. Textový reťazec s kombináciou hodnôt zo zoznamu možností zhody.A text string combination of MatchOptions enum values. V predvolenom nastavení sa používa MatchOptions.Complete.By default, MatchOptions.Complete is used.

PríkladyExamples

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 PopisDescription VýsledokResult
IsMatch( VstupTextu1.Text, "Hello world" )IsMatch( TextInput1.Text, "Hello world" ) Skontroluje, či sa zadanie používateľa presne zhoduje s textom „Hello world“.Tests whether the user's input matches, exactly, the string "Hello world" truetrue
IsMatch( VstupTextu1.Text, "Good bye" )IsMatch( TextInput1.Text, "Good bye" ) Skontroluje, či sa zadanie používateľa presne zhoduje s textom „Good bye“.Tests whether the user's input matches, exactly, the string "Good bye" falsefalse
IsMatch( VstupTextu1.Text, "hello", Contains )IsMatch( TextInput1.Text, "hello", Contains ) Skontroluje, či zadanie používateľa obsahuje slovo „hello“ (s rozlíšením veľkosti písmen).Tests whether the user's input contains the word "hello" (case sensitive). falsefalse
IsMatch( VstupTextu1.Text, "hello", Contains & IgnoreCase )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 PopisDescription VýsledokResult
IsMatch( "123-45-7890", Digit & Digit & Digit & Hyphen & Digit & Digit & Hyphen & Digit & Digit & Digit & Digit & Digit )IsMatch( "123-45-7890", Digit & Digit & Digit & Hyphen & Digit & Digit & Hyphen & Digit & Digit & Digit & Digit & Digit ) Zodpovedá číslu sociálneho poistenia v USA.Matches a United States Social Security Number truetrue
IsMatch( "joan@contoso.com", Email )IsMatch( "joan@contoso.com", Email ) Zodpovedá e-mailovej adrese.Matches an email address truetrue
IsMatch( "123.456", MultipleDigits & Period & OptionalDigits )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 )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 v texte nenachádza, preto sa tento vzor nezhoduje.A period doesn't appear in the text, so this pattern isn't matched. falsefalse

Regulárne výrazyRegular expressions

VzorecFormula PopisDescription VýsledokResult
IsMatch( "986", "\d+" )IsMatch( "986", "\d+" ) Zodpovedá celému číslu väčšiemu než nula.Matches a an integer greater than zero. truetrue
IsMatch( "1.02", "\d+(.\d\d)?" )IsMatch( "1.02", "\d+(.\d\d)?" ) Zodpovedá kladnej peňažnej čiastke.Matches a positive currency amount. Ak zadanie obsahuje desatinnú bodku, musí obsahovať tiež dva číselné znaky za desatinnou bodkou.If the input contains a decimal point, the input must also contain 2 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)?" )IsMatch( "-4.95", "(-)?\d+(.\d\d)?" ) Zodpovedá kladnej alebo zápornej peňažnej čiastke.Matches a positive or negative currency amount. Ak zadanie obsahuje desatinnú bodku, musí obsahovať tiež dva číselné znaky za desatinnou bodkou.If the input contains a decimal point, the input must also contain 2 numeric characters after the decimal point. truetrue
IsMatch( "111-11-1111", "\d{3}-\d{2}-\d{4}" )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í obsahovať 3 číselné znaky, po ktorých nasleduje spojovník a potom 2 číselné znaky, po ktorých nasleduje spojovník a ďalšie 4 číselné znaky.The string to match must consist of 3 numeric characters followed by a dash, then 2 numeric characters followed by a dash, and then 4 numeric characters. truetrue
IsMatch( "111-111-111", "\d{3}-\d{2}-\d{4}" )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( "slabeheslo", "(?!^[0-9]*$)(?!^[a-zA-Z]*$)([a-zA-Z0-9]{8,10})" )IsMatch( "weakpassword", "(?!^[0-9]*$)(?!^[a-zA-Z]*$)([a-zA-Z0-9]{8,10})" ) Overí silné heslo, ktoré musí obsahovať 8, 9 alebo 10 znakov a okrem toho aspoň jednu číslicu a aspoň jeden znak abecedy.Validates a strong password, which must contain 8, 9, 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( "http://microsoft.com", "(ht|f)tp(s?)://[0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*(:(0-9)*)*(/?)([a-zA-Z0-9-.?,'/\+&%$#_]*)?" )IsMatch( "http://microsoft.com", "(ht|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