De functie IsMatch in PowerAppsIsMatch function in PowerApps

Test of een teksttekenreeks overeenkomt met een patroon.Tests whether a text string matches a pattern.

BeschrijvingDescription

De functie IsMatch test of een teksttekenreeks overeenkomt met een patroon dat kan bestaan uit gewone tekens, vooraf gedefinieerde patronen of een reguliere expressie.The IsMatch function tests whether a text string matches a pattern that can comprise ordinary characters, predefined patterns, or a regular expression.

Gebruik IsMatch om te valideren wat een gebruiker in een besturingselement voor tekstinvoer heeft getypt.Use IsMatch to validate what a user has typed in a Text input control. U kunt bijvoorbeeld controleren of de gebruiker een geldig e-mailadres heeft ingevoerd voordat het resultaat in uw gegevensbron wordt opgeslagen.For example, you can confirm whether the user has entered a valid email address before the result is saved to your data source. Voeg andere besturingselementen toe die de gebruiker vragen om de gegevens te corrigeren als de invoer niet met uw criteria overeenkomt.If the entry doesn't match your criteria, add other controls that prompt the user to correct the entry.

IsMatch voert standaard een hoofdlettergevoelige overeenkomst voor de hele teksttekenreeks uit.By default, IsMatch performs a case-sensitive match for the entire text string. U kunt dit gedrag wijzigen door een of meer MatchOptions op te geven.You can modify this behavior by specifying one or more MatchOptions.

IsMatch retourneert true als de teksttekenreeks overeenkomt met het patroon, of false als dat niet het geval is.IsMatch returns true if the text string matches the pattern or false if it doesn't.

PatronenPatterns

De sleutel voor het gebruik van IsMatch ligt in de beschrijving van het patroon voor de overeenkomst.The key to using IsMatch is in describing the pattern to match. U beschrijft het patroon in een teksttekenreeks als een combinatie van:You describe the pattern in a text string as a combination of:

  • Gewone tekens, zoals "abc" of "123".Ordinary characters, such as "abc" or "123".
  • Vooraf gedefinieerde patronen, zoals Letter, MultipleDigits of E-mail.Predefined patterns, such as Letter, MultipleDigits, or Email. (De enum Match definieert deze patronen.)(The Match enum defines these patterns.)
  • Codes van reguliere expressies, zoals "\d+\s+\d+" of "[a-z]+".Regular expressions codes, such as "\d+\s+\d+" or "[a-z]+".

Combineer deze elementen door de samenvoegingsoperator & voor tekenreeksen te gebruiken.Combine these elements by using the string concatenation operator &. "abc" & Digit & "\s+" is bijvoorbeeld een geldig patroon dat de tekens "a", "b" en "c", gevolgd door een cijfer van 0 tot 9, gevolgd door minimaal een spatie, zoekt.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.

Gewone tekensOrdinary characters

De eenvoudigste patroon is een opeenvolging van gewone tekens die precies overeen moeten komen.The simplest pattern is a sequence of ordinary characters to be matched exactly.

De tekenreeks "Hallo" komt bijvoorbeeld exact overeen met het patroon "Hallo".For example, the string "Hello" matches the pattern "Hello" exactly. Niet meer en niet minder.No more and no less. De tekenreeks "hallo!"The string "hello!" komt niet met het patroon overeen vanwege het uitroepteken aan het einde. Ook komt de kleine letter "h" niet overeen.doesn't match the pattern because of the exclamation point on the end and the case is wrong for the letter "h". (Zie MatchOptions voor manieren om dit gedrag te wijzigen.)(See MatchOptions for ways to modify this behavior.)

In de patroontaal zijn bepaalde tekens voor speciale doeleinden gereserveerd.In the pattern language, certain characters are reserved for special purposes. Als u deze tekens wilt gebruiken, moet u ofwel een \ (backslash) voor het teken plaatsen om aan te geven dat het teken letterlijk moet worden genomen, ofwel een van de vooraf gedefinieerde patronen gebruiken.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. Deze tabel bevat de speciale tekens:This table lists the special characters:

Speciaal tekenSpecial character BeschrijvingDescription
,. puntdot or period
?? vraagtekenquestion mark
** sterretjeasterisk
+ plusplus
( )( ) haakjesparenthesis
[ ][ ] blokhakensquare brackets
{ }{ } accoladescurly braces
^ dakjecaret
$ dollartekendollar sign
|| verticale streepvertical bar or pipe
\ backslashbackslash

U kunt bijvoorbeeld "Hallo?" vindenFor example, you can match "Hello?" door het patroon "Hallo\?" te gebruikenby using the pattern "Hello\?" met een backslash vóór het vraagteken.with a backslash before the question mark.

Vooraf gedefinieerde patronenPredefined patterns

Vooraf gedefinieerde patronen bieden een eenvoudige manier om een reeks tekens of een opeenvolging van meerdere tekens te vinden.Predefined patterns provide a simple way to match one of a set of characters, or a sequence of multiple characters. Gebruik de samenvoegingsoperator & voor tekenreeksen om uw eigen teksttekenreeks te combineren met leden van de enum Match:Use the string concatenation operator & to combine your own text strings with members of the Match enum:

Match-enumMatch Enum BeschrijvingDescription Reguliere expressieRegular Expression
AlleAny Komt overeen met een willekeurig teken.Matches any character. ,.
KommaComma Komt overeen met een komma.Matches a comma. ,,
CijferDigit Komt overeen met één cijfer ("0" tot en met "9").Matches a single digit ("0" through "9"). \d\d
E-mailEmail Komt overeen met een e-mailadres dat een apenstaartje ("@") en een domeinnaam met een punt (".") bevat.Matches an email address that contains an "at" symbol ("@") and a domain name that contains a dot (".") .+@.+\.[^\.]{2,}.+@.+\.[^\.]{2,}
AfbreekstreepjeHyphen Komt overeen met een afbreekstreepje.Matches a hyphen. \-
LeftParenLeftParen Komt overeen met een haakje openen "(".Matches a left parenthesis "(". \(\(
LetterLetter Komt overeen met een letter.Matches a letter. \p{L}\p{L}
MultipleDigitsMultipleDigits Komt overeen met een of meer cijfers.Matches one or more digitis. \d+\d+
MultipleLettersMultipleLetters Komt overeen met een of meer letters.Matches one or more letters. \p{L}+\p{L}+
MultipleNonSpacesMultipleNonSpaces Komt overeen met een of meer tekens die geen witruimte (spatie, tab, nieuwe regel) toevoegen.Matches one or more characters that don't add whitespace (space, tab, newline). \S+\S+
MultipleSpacesMultipleSpaces Komt overeen met een of meer tekens die witruimte (spatie, tab, nieuwe regel) toevoegen.Matches one or more characters that add whitespace (space, tab, newline). \s+\s+
NonSpaceNonSpace Komt overeen met één teken dat geen witruimte toevoegt.Matches a single character that doesn't add whitespace. \S\S
OptionalDigitsOptionalDigits Komt overeen met nul, een of meer cijfers.Matches zero, one, or more digits. \d\d
OptionalLettersOptionalLetters Komt overeen met nul, een of meer letters.Matches zero, one, or more letters. \p{L}\p{L}
OptionalNonSpacesOptionalNonSpaces Komt overeen met nul, een of meer tekens die geen witruimte toevoegen.Matches zero, one, or more characters that don't add whitespace. \S\S
OptionalSpacesOptionalSpaces Komt overeen met nul, een of meer tekens die witruimte toevoegen.Matches zero, one, or more characters that add whitespace. \s\s
PeriodPeriod Komt overeen met een punt (".").Matches a period or dot ("."). \.\.
RightParenRightParen Komt overeen met een haakje sluiten ")".Matches a right parenthesis ")". \)\)
SpaceSpace Komt overeen met een teken dat witruimte toevoegt.Matches a character that adds whitespace. \s\s

Het patroon "A" & MultipleDigits zal bijvoorbeeld overeenkomen met de letter "A", gevolgd door een of meer cijfers.For example, the pattern "A" & MultipleDigits will match the letter "A" followed by one or more digits.

Reguliere expressiesRegular expressions

Het patroon dat door IsMatch wordt gebruikt, is een reguliere expressie.The pattern used by IsMatch is a regular expression. De gewone tekens en vooraf gedefinieerde patronen die hierboven worden beschreven, helpen bij het opbouwen van reguliere expressies.The ordinary characters and predefined patterns that are described above help build regular expressions.

Reguliere expressies zijn heel krachtig en beschikbaar in veel programmeertalen. Ze worden voor veel verschillende doeleinden gebruikt.Regular expressions are very powerful, available in many programming languages, and used for a wide variety of purposes. Dit artikel kan niet alle aspecten van reguliere expressies beschrijven, maar er is op het internet een schat aan informatie en zelfstudies gepubliceerd om u te helpen.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.

Reguliere expressies hebben verschillende dialecten en PowerApps maakt gebruik van een variant van het JavaScript-dialect.Regular expressions have different dialects, and PowerApps uses a variant of the JavaScript dialect. Raadpleeg regular expression syntax (syntaxis van reguliere expressie) voor meer informatie.For more information, see regular expression syntax.

In de Match-enumtabel hierboven breidt elke enum zich uit in een reguliere expressie. De teksttekenreeks in de kolom "Reguliere expressie" definieert die expressie.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.

OvereenkomstoptiesMatch options

U kunt het gedrag van IsMatch wijzigen door een of meer opties te specificeren. U kunt deze combineren door de samenvoegingsoperator voor tekenreeksen (&) te gebruiken.You can modify the behavior of IsMatch by specifying one or more options, which you can combine by using the string concatenation operator (&).

IsMatch test standaard op een volledige overeenkomst van de gehele teksttekenreeks.By default, IsMatch tests for a complete match of the entire text string.

MatchOptions-enumMatchOptions Enum BeschrijvingDescription Gevolgen voor de reguliere expressieImpact on regular expression
BeginsWithBeginsWith Het patroon moet overeenkomen vanaf het begin van de tekst.The pattern must match from the beginning of the text. Voegt een ^ toe aan het begin van de reguliere expressie.Adds a ^ to the start of the regular expression.
CompleteComplete Standaard.Default. Het patroon moet met de volledige tekst overeenkomen, vanaf het begin tot einde.The pattern must match the entire text, from beginning to end. Voegt een ^ aan het begin en $ aan het einde van de reguliere expressie toe.Adds a ^ to the start and $ to the end of the regular expression.
ContainsContains Het patroon moet ergens in de tekst worden weergegeven, maar hoeft niet aan het begin of einde te staan.The pattern must appear somewhere in the text but doesn't need to begin or end it. Wijzigt de reguliere expressie niet.Doesn't modify the regular expression.
EndsWithEndsWith Het patroon moet overeenkomen met het einde van de tekst.The pattern must match the end of the text. Voegt een $ toe aan het einde van de reguliere expressie.Adds a $ to the end of the regular expression.
IgnoreCaseIgnoreCase Behandelt de overeenkomst van letters op een niet-hoofdlettergevoelige manier.Treats the matching of letters in a case-insensitive manner. De overeenkomst is standaard hoofdlettergevoelig.By default, matching is case sensitive. Wijzigt de reguliere expressie niet.Doesn't modify the regular expression.
MultilineMultiline Komt overeen over meerdere regels.Matches across multiple lines. Wijzigt de reguliere expressie niet.Doesn't modify the regular expression.

SyntaxisSyntax

IsMatch( Text, Pattern [, Options ] )IsMatch( Text, Pattern [, Options ] )

  • Text – vereist.Text – Required. De teksttekenreeks die moet worden getest.The text string to test.
  • Pattern – vereist.Pattern – Required. Het patroon dat moet worden getest als teksttekenreeks.The pattern to test, as a text string. Voeg vooraf gedefinieerde patronen die de Match-enum definieert samen of geef een reguliere expressie op.Concatenate predefined patterns that the Match enum defines or provide a regular expression.
  • Options – optioneel.Options – Optional. Een teksttekenreekscombinatie van MatchOptions-enumwaarden.A text string combination of MatchOptions enum values. Standaard wordt MatchOptions.Complete gebruikt.By default, MatchOptions.Complete is used.

VoorbeeldenExamples

Gewone tekensOrdinary characters

Stel dat uw app een besturingselement Tekstinvoer bevat met de naam TextInput1.Imagine that your app contains a Text input control named TextInput1. De gebruiker voert in dit besturingselement waarden in die in een database moeten worden opgeslagen.The user enters values into this control to be stored in a database.

De gebruiker typt Hallo wereld in TextInput1.The user types Hello world into TextInput1.

FormuleFormula BeschrijvingDescription ResultaatResult
IsMatch( TextInput1.Text, "Hallo wereld" )IsMatch( TextInput1.Text, "Hello world" ) Test of de invoer van de gebruiker exact overeenkomt met de tekenreeks "Hallo wereld"Tests whether the user's input matches, exactly, the string "Hello world" truetrue
IsMatch( TextInput1.Text, "Tot ziens" )IsMatch( TextInput1.Text, "Good bye" ) Test of de invoer van de gebruiker exact overeenkomt met de tekenreeks "Tot ziens"Tests whether the user's input matches, exactly, the string "Good bye" falsefalse
IsMatch( TextInput1.Text, "hallo", Contains )IsMatch( TextInput1.Text, "hello", Contains ) Test of de invoer van de gebruiker het woord "hallo" (hoofdlettergevoelig) bevat.Tests whether the user's input contains the word "hello" (case sensitive). falsefalse
IsMatch( TextInput1.Text, "hallo", Contains & IgnoreCase )IsMatch( TextInput1.Text, "hello", Contains & IgnoreCase ) Test of de invoer van de gebruiker het woord "hallo" (niet-hoofdlettergevoelig) bevat.Tests whether the user's input contains the word "hello" (case insensitive). truetrue

Vooraf gedefinieerde patronenPredefined patterns

FormuleFormula BeschrijvingDescription ResultaatResult
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 ) Komt overeen met een burgerservicenummer van de Verenigde StatenMatches a United States Social Security Number truetrue
IsMatch( "joan@contoso.com", E-mail )IsMatch( "joan@contoso.com", Email ) Komt overeen met een e-mailadresMatches an email address truetrue
IsMatch( "123.456", MultipleDigits & Period & OptionalDigits )IsMatch( "123.456", MultipleDigits & Period & OptionalDigits ) Komt overeen met een opeenvolging van cijfers, een punt en vervolgens nul of meer cijfers.Matches a sequence of digits, a period, and then zero or more digits. truetrue
IsMatch( "123", MultipleDigits & Period & OptionalDigits )IsMatch( "123", MultipleDigits & Period & OptionalDigits ) Komt overeen met een opeenvolging van cijfers, een punt en vervolgens nul of meer cijfers.Matches a sequence of digits, a period, and then zero or more digits. Er staat geen punt in de tekst. Daarom is er geen overeenkomst met dit patroon.A period doesn't appear in the text, so this pattern isn't matched. falsefalse

Reguliere expressiesRegular expressions

FormuleFormula BeschrijvingDescription ResultaatResult
IsMatch( "986", "\d+" )IsMatch( "986", "\d+" ) Komt overeen met een geheel getal dat groter is dan nul.Matches a an integer greater than zero. truetrue
IsMatch( "1.02", "\d+(.\d\d)?" )IsMatch( "1.02", "\d+(.\d\d)?" ) Komt overeen met een positief bedrag.Matches a positive currency amount. Als de invoer een decimaalteken bevat, moet de invoer ook 2 numerieke tekens na het decimaalteken bevatten.If the input contains a decimal point, the input must also contain 2 numeric characters after the decimal point. 3,00 is bijvoorbeeld geldig, maar 3,1 is dat niet.For example, 3.00 is valid, but 3.1 isn't. truetrue
IsMatch( "-4.95", "(-)?\d+(.\d\d)?" )IsMatch( "-4.95", "(-)?\d+(.\d\d)?" ) Komt overeen met een positief of negatief bedrag.Matches a positive or negative currency amount. Als de invoer een decimaalteken bevat, moet de invoer ook 2 numerieke tekens na het decimaalteken bevatten.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}" ) Komt overeen met een burgerservicenummer van de Verenigde Staten.Matches a United States Social Security number. Valideert de indeling, het type en de lengte van het opgegeven invoerveld.Validates the format, type, and length of the supplied input field. De tekenreeks die overeen moet komen, moet bestaan uit 3 numerieke tekens met daar achter een streepje, daarna 2 numerieke tekens met daar achter een streepje en vervolgens 4 numerieke tekens.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}" ) Hetzelfde als het vorige voorbeeld, maar een van de afbreekstreepjes in de invoer valt buiten het bereik.Same as the previous example, but one of the hyphens is out of place in the input. falsefalse
IsMatch( "weakpassword", "(?!^[0-9]*$)(?!^[a-zA-Z]*$)([a-zA-Z0-9]{8,10})" )IsMatch( "weakpassword", "(?!^[0-9]*$)(?!^[a-zA-Z]*$)([a-zA-Z0-9]{8,10})" ) Valideert een sterk wachtwoord, dat uit 8, 9 of 10 tekens moet bestaan en daarnaast minimaal één cijfer en minimaal een letter moet bevatten.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. De tekenreeks mag geen speciale tekens bevatten.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-.?,'/\+&%$#_]*)?" ) Valideert een http-, https- of ftp-URL.Validates an http, https, or ftp URL. truetrue