Funktionen IsMatch i PowerAppsIsMatch function in PowerApps

Tester, om en tekststreng svarer til et mønster.Tests whether a text string matches a pattern.

BeskrivelseDescription

Funktionen IsMatch tester, om en tekststreng matcher et mønster, der kan bestå af almindelige tegn, foruddefinerede mønstre eller et regulært udtryk.The IsMatch function tests whether a text string matches a pattern that can comprise ordinary characters, predefined patterns, or a regular expression.

Brug IsMatch til at validere brugerens input i et kontrolelement til tekstinput.Use IsMatch to validate what a user has typed in a Text input control. Du kan f.eks. kontrollere, om brugeren har angivet en gyldig mailadresse, inden du gemmer værdien i din datakilde.For example, you can confirm whether the user has entered a valid email address before the result is saved to your data source. Hvis det indtastede ikke opfylder dine kriterier, kan du tilføje et andet kontrolelement, som beder brugeren angive en anden værdi.If the entry doesn't match your criteria, add other controls that prompt the user to correct the entry.

Som standard skelner IsMatch mellem store og små bogstaver i hele tekststrengen.By default, IsMatch performs a case-sensitive match for the entire text string. Du kan ændre denne funktionsmåde ved at angive en eller flere MatchOptions.You can modify this behavior by specifying one or more MatchOptions.

IsMatch returnerer true, hvis tekststrengen stemmer overens med mønsteret. Ellers returneres false.IsMatch returns true if the text string matches the pattern or false if it doesn't.

MønstrePatterns

Når du bruger IsMatch, skal du beskrive det mønster, der skal kontrolleres op mod.The key to using IsMatch is in describing the pattern to match. Du kan beskrive mønsteret i en tekststreng som en kombination af:You describe the pattern in a text string as a combination of:

  • Almindelige tegn, f.eks. "abc" eller "123".Ordinary characters, such as "abc" or "123".
  • Foruddefinerede mønstre, f.eks. Letter, MultipleDigits eller Email.Predefined patterns, such as Letter, MultipleDigits, or Email. Mønstrene defineres med Match-optælleren.(The Match enum defines these patterns.)
  • Koder i regulære udtryk, f.eks. "\d+\s+\d+" eller "[a-z]+".Regular expressions codes, such as "\d+\s+\d+" or "[a-z]+".

Du kan kombinere disse elementer med operatoren til sammensætning af strenge &.Combine these elements by using the string concatenation operator &. Mønsteret "abc" & Digit & "\s+" er f.eks. et gyldigt mønster, der matcher tegnene "a", "b" og "c" efterfulgt af et ciffer fra 0 til 9 efterfulgt af mindst ét mellemrum.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.

Almindelige tegnOrdinary characters

Det mest enkle mønster er en sekvens af almindelige tegn, der skal matche præcist.The simplest pattern is a sequence of ordinary characters to be matched exactly.

Strengen "Hej" er f.eks. et præcist match med mønsteret "Hej".For example, the string "Hello" matches the pattern "Hello" exactly. Hverken mere eller mindre.No more and no less. Strengen "hej!"The string "hello!" svarer ikke til mønsteret, da det indeholder et udråbstegn til sidst, og da strengen starter med et lille "h".doesn't match the pattern because of the exclamation point on the end and the case is wrong for the letter "h". Du kan se, hvordan du kan ændre denne funktionsmåde, under MatchOptions.(See MatchOptions for ways to modify this behavior.)

I mønstersproget er nogle tegn reserveret til særlige formål.In the pattern language, certain characters are reserved for special purposes. Hvis du vil bruge disse tegn, skal du enten foranstille tegnet med tegnet \ (omvendt skråstreg) for at indikere, at tegnet skal tages bogstaveligt, eller du skal bruge et af de foruddefinerede mønstre.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. I denne tabel kan du se specialtegnene:This table lists the special characters:

SpecialtegnSpecial character BeskrivelseDescription
.. punktumdot or period
?? spørgsmålstegnquestion mark
** stjerneasterisk
+ plusplus
( )( ) parenteserparenthesis
[ ][ ] kantede parentesersquare brackets
{ }{ } krøllede klammeparentesercurly braces
^ indsætningspunktcaret
$ dollartegndollar sign
|| lodret streg eller pipe-tegnvertical bar or pipe
\ omvendt skråstregbackslash

Du kan f.eks. lave et match for "Hej"?For example, you can match "Hello?" ved hjælp af mønsteret "Hej\?"by using the pattern "Hello\?" med en omvendt skråstreg foran spørgsmålstegnet.with a backslash before the question mark.

Foruddefinerede mønstrePredefined patterns

Foruddefinerede mønstre er en enkel måde til at matche et sæt af tegn, en sekvens af tegn eller flere tegn.Predefined patterns provide a simple way to match one of a set of characters, or a sequence of multiple characters. Brug operatoren til sammensætning af strenge & til at kombinere dine egne tekststrenge med medlemmerne af Match-optælleren:Use the string concatenation operator & to combine your own text strings with members of the Match enum:

Match-optællerMatch Enum BeskrivelseDescription Regulært udtrykRegular Expression
AnyAny Matcher ethvert tegn.Matches any character. ..
CommaComma Matcher et komma.Matches a comma. ,,
DigitDigit Matcher et enkelt ciffer ("0" til og med "9").Matches a single digit ("0" through "9"). \d\d
EmailEmail Matcher en mailadresse, der indeholder tegnet "@" samt et domænenavn, der indeholder et punktum (".")Matches an email address that contains an "at" symbol ("@") and a domain name that contains a dot (".") .+@.+\.[^\.]{2,}.+@.+\.[^\.]{2,}
HyphenHyphen Matcher en bindestreg.Matches a hyphen. \-
LeftParenLeftParen Matcher en venstreparentes "(".Matches a left parenthesis "(". \(\(
LetterLetter Matcher et bogstav.Matches a letter. \p{L}\p{L}
MultipleDigitsMultipleDigits Matcher et eller flere cifre.Matches one or more digitis. \d+\d+
MultipleLettersMultipleLetters Matcher et eller flere bogstaver.Matches one or more letters. \p{L}+\p{L}+
MultipleNonSpacesMultipleNonSpaces Matcher et eller flere tegn, som ikke tilføjer blanktegn (mellemrum, tabulator, ny linje).Matches one or more characters that don't add whitespace (space, tab, newline). \S+\S+
MultipleSpacesMultipleSpaces Matcher et eller flere tegn, som tilføjer blanktegn (mellemrum, tabulator, ny linje).Matches one or more characters that add whitespace (space, tab, newline). \s+\s+
NonSpaceNonSpace Matcher et enkelt tegn, der ikke tilføjer et mellemrum.Matches a single character that doesn't add whitespace. \S\S
OptionalDigitsOptionalDigits Matcher nul, et eller flere cifre.Matches zero, one, or more digits. \d\d
OptionalLettersOptionalLetters Matcher nul, et eller flere bogstaver.Matches zero, one, or more letters. \p{L}\p{L}
OptionalNonSpacesOptionalNonSpaces Matcher nul, et eller flere tegn, der ikke tilføjer mellemrum.Matches zero, one, or more characters that don't add whitespace. \S\S
OptionalSpacesOptionalSpaces Matcher nul, et eller flere tegn, der tilføjer mellemrum.Matches zero, one, or more characters that add whitespace. \s\s
PeriodPeriod Matcher et punktum (".").Matches a period or dot ("."). \.\.
RightParenRightParen Matcher en højreparentes ")".Matches a right parenthesis ")". \)\)
SpaceSpace Matcher et tegn, der tilføjer et mellemrum.Matches a character that adds whitespace. \s\s

Mønsteret "A" & MultipleDigits vil f.eks. matche bogstavet "A" efterfulgt af et eller flere cifre.For example, the pattern "A" & MultipleDigits will match the letter "A" followed by one or more digits.

Regulære udtrykRegular expressions

Det mønster, der bruges af IsMatch, er et regulært udtryk.The pattern used by IsMatch is a regular expression. De almindelige tegn og foruddefinerede mønstre, der er beskrevet ovenfor, kan bruges til at opbygge regulære udtryk.The ordinary characters and predefined patterns that are described above help build regular expressions.

Regulære udtryk er meget effektive, tilgængelige i mange programmeringssprog og bruges til en lang række formål.Regular expressions are very powerful, available in many programming languages, and used for a wide variety of purposes. Denne artikel kan ikke beskrive alle aspekter af regulære udtryk, men der er udgivet et væld af oplysninger og selvstudier på internettet, hvor du kan finde hjælp.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ære udtryk har forskellige dialekter, og PowerApps bruger en variant af JavaScript-dialekten.Regular expressions have different dialects, and PowerApps uses a variant of the JavaScript dialect. Du kan finde flere oplysninger under syntaks i regulære udtryk.For more information, see regular expression syntax.

I tabellen over Match-optælleren herover, bliver hver optæller udvidet til et regulært udtrykt, og tekststrengen i kolonnen "Regulært udtryk" definerer udtrykket.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.

Indstillinger for matchningMatch options

Du kan ændre funktionsmåden for IsMatch ved at angive en eller flere indstillinger, som du kan kombinere ved hjælp af operatoren til sammensætning af strenge (&).You can modify the behavior of IsMatch by specifying one or more options, which you can combine by using the string concatenation operator (&).

Som standard tester IsMatch for et komplet match af hele tekststrengen.By default, IsMatch tests for a complete match of the entire text string.

MatchOptions-optællerMatchOptions Enum BeskrivelseDescription Betydning for regulært udtrykImpact on regular expression
BeginsWithBeginsWith Mønsteret skal matche starten af teksten.The pattern must match from the beginning of the text. Tilføjer ^ til starten af det regulære udtryk.Adds a ^ to the start of the regular expression.
CompleteComplete Standard.Default. Mønsteret skal matche hele teksten fra start til slut.The pattern must match the entire text, from beginning to end. Tilføjer ^ i starten af det regulære udtryk og $ i slutningen af det regulære udtryk.Adds a ^ to the start and $ to the end of the regular expression.
ContainsContains Mønsteret skal findes et vilkårligt sted i teksten, men behøver ikke at være placeret først eller sidst.The pattern must appear somewhere in the text but doesn't need to begin or end it. Ændrer ikke det regulære udtryk.Doesn't modify the regular expression.
EndsWithEndsWith Mønsteret skal matche slutningen af teksten.The pattern must match the end of the text. Tilføjer $ sidst i det regulære udtryk.Adds a $ to the end of the regular expression.
IgnoreCaseIgnoreCase Skelner mellem store og små bogstaver i matchningen.Treats the matching of letters in a case-insensitive manner. Som standard skelnes der mellem store og små bogstaver.By default, matching is case sensitive. Ændrer ikke det regulære udtryk.Doesn't modify the regular expression.
MultilineMultiline Matcher over flere linjer.Matches across multiple lines. Ændrer ikke det regulære udtryk.Doesn't modify the regular expression.

SyntaksSyntax

IsMatch(Tekst, Mønster [, Indstillinger ])IsMatch( Text, Pattern [, Options ] )

  • Tekst – påkrævet.Text – Required. Den tekst, der skal testes.The text string to test.
  • Mønster – påkrævet.Pattern – Required. Det mønster, der skal testes, som en tekststreng.The pattern to test, as a text string. Sammensæt foruddefinerede mønstre, som Match-optælleren definerer, eller angiv et regulært udtryk.Concatenate predefined patterns that the Match enum defines or provide a regular expression.
  • Indstillinger – valgfrit.Options – Optional. En tekststrengkombination af MatchOptions-optællingsværdierne.A text string combination of MatchOptions enum values. Som standard bruges MatchOptions.Complete.By default, MatchOptions.Complete is used.

EksemplerExamples

Almindelige tegnOrdinary characters

Forestil dig, at din app indeholder et kontrolelement til tekstinput med navnet TextInput1.Imagine that your app contains a Text input control named TextInput1. Brugeren indtaster værdier i kontrolelementet, der skal gemmes i en database.The user enters values into this control to be stored in a database.

Brugeren skriver Hej verden i TextInput1.The user types Hello world into TextInput1.

FormelFormula BeskrivelseDescription ResultatResult
IsMatch(TextInput1.Text, "Hej verden")IsMatch( TextInput1.Text, "Hello world" ) Tester, om brugerens indtastning matcher strengen "Hej verden" præcist.Tests whether the user's input matches, exactly, the string "Hello world" truetrue
IsMatch(TextInput1.Text, "Farvel")IsMatch( TextInput1.Text, "Good bye" ) Tester, om brugerens indtastning matcher strengen "Farvel" præcist.Tests whether the user's input matches, exactly, the string "Good bye" falsefalse
IsMatch(TextInput1.Text, "hej", Contains)IsMatch( TextInput1.Text, "hello", Contains ) Tester, om brugerens input indeholder ordet "hej" (skelner mellem store og små bogstaver).Tests whether the user's input contains the word "hello" (case sensitive). falsefalse
IsMatch(TextInput1.Text, "hej", Contains & IgnoreCase)IsMatch( TextInput1.Text, "hello", Contains & IgnoreCase ) Tester, om brugerens input indeholder ordet "hej" (skelner ikke mellem store og små bogstaver).Tests whether the user's input contains the word "hello" (case insensitive). truetrue

Foruddefinerede mønstrePredefined patterns

FormelFormula BeskrivelseDescription ResultatResult
IsMatch("123456-7890", Digit & Digit & Digit & Digit & Digit & Digit & Hyphen & Digit & Digit & Digit & Digit)IsMatch( "123-45-7890", Digit & Digit & Digit & Hyphen & Digit & Digit & Hyphen & Digit & Digit & Digit & Digit & Digit ) Matcher et dansk CPR-nummerMatches a United States Social Security Number truetrue
IsMatch("joan@contoso.com", Email)IsMatch( "joan@contoso.com", Email ) Matcher en mailadresseMatches an email address truetrue
IsMatch("123.456", MultipleDigits & Period & OptionalDigits)IsMatch( "123.456", MultipleDigits & Period & OptionalDigits ) Matcher en sekvens af cifre, et punktum og derefter nul eller flere cifre.Matches a sequence of digits, a period, and then zero or more digits. truetrue
IsMatch("123", MultipleDigits & Period & OptionalDigits)IsMatch( "123", MultipleDigits & Period & OptionalDigits ) Matcher en sekvens af cifre, et punktum og derefter nul eller flere cifre.Matches a sequence of digits, a period, and then zero or more digits. Der findes ikke et punktum i teksten, så mønsteret matcher ikke.A period doesn't appear in the text, so this pattern isn't matched. falsefalse

Regulære udtrykRegular expressions

FormelFormula BeskrivelseDescription ResultatResult
IsMatch("986", "\d+")IsMatch( "986", "\d+" ) Matcher et heltal større end nul.Matches a an integer greater than zero. truetrue
IsMatch("1,02", "\d+(.\d\d)?")IsMatch( "1.02", "\d+(.\d\d)?" ) Matcher et positivt valutabeløb.Matches a positive currency amount. Hvis inputværdien indeholder et decimalkomma, skal inputværdien også indeholde 2 numeriske tegn efter decimalkommaet.If the input contains a decimal point, the input must also contain 2 numeric characters after the decimal point. For eksempel er 3,00 en gyldig værdi, mens 3,1 ikke er.For example, 3.00 is valid, but 3.1 isn't. truetrue
IsMatch("-4,95", "(-)?\d+(.\d\d)?")IsMatch( "-4.95", "(-)?\d+(.\d\d)?" ) Matcher et positivt eller negativt valutabeløb.Matches a positive or negative currency amount. Hvis inputværdien indeholder et decimalkomma, skal inputværdien også indeholde 2 numeriske tegn efter decimalkommaet.If the input contains a decimal point, the input must also contain 2 numeric characters after the decimal point. truetrue
IsMatch("111111-1111", "\d{6}-\d{4}")IsMatch( "111-11-1111", "\d{3}-\d{2}-\d{4}" ) Matcher et dansk CPR-nummer.Matches a United States Social Security number. Validerer formatet, typen og længden for det angivne inputfelt.Validates the format, type, and length of the supplied input field. Strengen skal matche 6 numeriske tegn efterfulgt af en bindestreg og efterfulgt af fire numeriske tegn.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("11111-11111", "\d{6}-\d{4}")IsMatch( "111-111-111", "\d{3}-\d{2}-\d{4}" ) Det samme som det tidligere eksempel, men bindestregen er placeret forkert.Same as the previous example, but one of the hyphens is out of place in the input. falsefalse
IsMatch("svagadgangskode", "(?!^[0-9]*$)(?!^[a-zA-Z]*$)([a-zA-Z0-9]{8,10})")IsMatch( "weakpassword", "(?!^[0-9]*$)(?!^[a-zA-Z]*$)([a-zA-Z0-9]{8,10})" ) Validerer en stærk adgangskode, som skal bestå af 8, 9 eller 10 tegn, mindst ét ciffer og mindst ét bogstav.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. Strengen må ikke indeholde specialtegn.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-.?,'/\+&%$#_]*)?" ) Validerer en webadresse for protokollerne http, https og ftp.Validates an http, https, or ftp URL. truetrue