Funktion „IsMatch“ in PowerAppsIsMatch function in PowerApps

Prüft, ob eine Zeichenfolge mit einem Muster übereinstimmtTests whether a text string matches a pattern.

BeschreibungDescription

Die IsMatch-Funktion prüft, ob eine Textzeichenfolge mit einem Muster übereinstimmt, das normale Zeichen, vordefinierte Muster oder einen regulären Ausdruck enthält.The IsMatch function tests whether a text string matches a pattern that can comprise ordinary characters, predefined patterns, or a regular expression.

Verwenden Sie IsMatch,um zu überprüfen, was ein Benutzer in ein Texteingabe-Steuerelement eingegeben hat.Use IsMatch to validate what a user has typed in a Text input control. Beispielsweise können Sie überprüfen, ob der Benutzer eine gültige E-Mail-Adresse eingegeben hat, bevor das Ergebnis in der Datenquelle gespeichert wird.For example, you can confirm whether the user has entered a valid email address before the result is saved to your data source. Wenn der Eintrag nicht mit Ihren Kriterien übereinstimmt, fügen Sie andere Steuerelemente hinzu, die den Benutzer zur Korrektur der Eingabe auffordern.If the entry doesn't match your criteria, add other controls that prompt the user to correct the entry.

Standardmäßig sucht IsMatch nach Übereinstimmungen in Textzeichenfolgen und beachtet dabei Groß- und Kleinschreibung.By default, IsMatch performs a case-sensitive match for the entire text string. Sie können dieses Verhalten ändern, indem Sie eine oder mehrere "MatchOptions" angeben.You can modify this behavior by specifying one or more MatchOptions.

IsMatch gibt TRUE zurück, wenn die Zeichenfolge mit dem Muster übereinstimmt, oder FALSE, Wenn dies nicht der Fall ist.IsMatch returns true if the text string matches the pattern or false if it doesn't.

MusterPatterns

Wenn Sie IsMatch verwenden, ist es wichtig, dass sie das entsprechende Muster beschreiben.The key to using IsMatch is in describing the pattern to match. Sie beschreiben das Muster als Testzeichenfolge als Kombination aus Folgendem:You describe the pattern in a text string as a combination of:

  • Normale Zeichen, z.B. "Abc" oder "123"Ordinary characters, such as "abc" or "123".
  • Vordefinierte Muster, z.B. Letter (Buchstabe), MultipleDigits (mehrere Ziffern) oder E-Mail.Predefined patterns, such as Letter, MultipleDigits, or Email. (Die Match-Enumeration definiert diese Muster.)(The Match enum defines these patterns.)
  • Reguläre Ausdruckcodes, z.B. „\d+\s+\d+“ oder „[a-z] +“Regular expressions codes, such as "\d+\s+\d+" or "[a-z]+".

Kombinieren Sie diese Elemente mithilfe des Operators für Zeichenfolgenverkettung &.Combine these elements by using the string concatenation operator &. "abc" & Digit & "\s+" ist beispielsweise ein gültiges Muster, das den Zeichen „a“, „b“ und „c“ gefolgt von einer Ziffer zwischen 0 und 9 entspricht, auf die mindestens ein Leerzeichen folgt.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.

Normales ZeichenOrdinary characters

Das einfachste Muster ist eine Sequenz von normalen Zeichen, die exakt übereinstimmen sollen.The simplest pattern is a sequence of ordinary characters to be matched exactly.

Die Zeichenfolge "Hello" entspricht z.B. genau dem Muster „Hello“.For example, the string "Hello" matches the pattern "Hello" exactly. Nicht mehr und nicht weniger.No more and no less. Die Zeichenfolge „hello!“The string "hello!" stimmt wegen des Ausrufezeichens am Ende und der Kleinschreibung nicht mit dem Muster überein.doesn't match the pattern because of the exclamation point on the end and the case is wrong for the letter "h". (Unter "MatchOptions" finden Sie Informationen zu Modifizierungsmöglichkeiten dieses Verhaltens.)(See MatchOptions for ways to modify this behavior.)

In der Mustersprache sind bestimmten Zeichen bestimmte Funktionen vorbehalten.In the pattern language, certain characters are reserved for special purposes. Fügen Sie entweder vor dem Zeichen einen \ (umgekehrter Schrägstrich) ein, um anzugeben, dass das Zeichen als solches interpretiert werden soll, oder verwenden Sie eines der vordefinierten Muster.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. Diese Tabelle enthält die Sonderzeichen:This table lists the special characters:

SonderzeichenSpecial character BeschreibungDescription
.. Punktdot or period
?? Fragezeichenquestion mark
** Sternchenasterisk
+ Plusplus
( )( ) Klammernparenthesis
[ ][ ] eckige Klammernsquare brackets
{ }{ } geschweifte Klammerncurly braces
^ Caretzeichencaret
$ Dollarzeichendollar sign
|| senkrechter Strichvertical bar or pipe
\ umgekehrter Schrägstrichbackslash

Als Übereinstimmung mit der Zeichenfolge „Hello?“For example, you can match "Hello?" können Sie beispielsweise das Muster „Hello\?“by using the pattern "Hello\?" mit einem umgekehrten Schrägstrich vor dem Fragezeichen verwenden.with a backslash before the question mark.

Vordefinierte MusterPredefined patterns

Mit vordefinierten Mustern können Sie ganz leicht ein Zeichen aus einem Zeichensatz oder eine Sequenz aus mehreren Zeichen übereinstimmen.Predefined patterns provide a simple way to match one of a set of characters, or a sequence of multiple characters. Verwenden Sie den Operator für Zeichenfolgenverkettungen &, um Ihre eigenen Textzeichenfolgen mit Membern der Match-Enumeration zu kombinieren:Use the string concatenation operator & to combine your own text strings with members of the Match enum:

Match-EnumerationMatch Enum BeschreibungDescription Reguläre AusdrückeRegular Expression
AnyAny Ordnet ein beliebiges Zeichen zuMatches any character. ..
CommaComma Ordnet ein Komma zuMatches a comma. ,,
DigitDigit Ordnet eine einzelne Ziffer („0“ bis „9“) zuMatches a single digit ("0" through "9"). \d\d
EmailEmail Ordnet eine E-Mail-Adresse zu, die ein at-Zeichen (@) und einen Domänennamen enthält, der einen Punkt (.) enthält.Matches an email address that contains an "at" symbol ("@") and a domain name that contains a dot (".") .+@.+\.[^\.]{2,}.+@.+\.[^\.]{2,}
HyphenHyphen Ordnet einen Bindestrich zuMatches a hyphen. \-
LeftParenLeftParen Ordnet eine linke Klammer „(“ zuMatches a left parenthesis "(". \(\(
LetterLetter Ordnet einen Buchstaben zuMatches a letter. \p{L}\p{L}
MultipleDigitsMultipleDigits Ordnet mindestens eine Ziffer zuMatches one or more digitis. \d+\d+
MultipleLettersMultipleLetters Ordnet mindestens einen Buchstaben zuMatches one or more letters. \p{L}+\p{L}+
MultipleNonSpacesMultipleNonSpaces Ordnet eine oder mehrere Zeichen zu, die keine Lücken (Leerzeichen, Registerkarte, Zeilenvorschub) hinzufügen.Matches one or more characters that don't add whitespace (space, tab, newline). \S+\S+
MultipleSpacesMultipleSpaces Ordnet ein oder mehrere Zeichen zu, die Lücken (Leerzeichen, Registerkarte, Zeilenvorschub) hinzufügen.Matches one or more characters that add whitespace (space, tab, newline). \s+\s+
NonSpaceNonSpace Ordnet ein einzelnes Zeichen zu, das keine Lücken hinzufügtMatches a single character that doesn't add whitespace. \S\S
OptionalDigitsOptionalDigits Ordnet 0, 1 oder mehrere Ziffern zuMatches zero, one, or more digits. \d\d
OptionalLettersOptionalLetters Ordnet 0, 1 oder mehrere Buchstaben zuMatches zero, one, or more letters. \p{L}\p{L}
OptionalNonSpacesOptionalNonSpaces Ordnet 0, 1 oder mehrere Zeichen zu, die keine Lücken hinzufügenMatches zero, one, or more characters that don't add whitespace. \S\S
OptionalSpacesOptionalSpaces Ordnet 0, 1 oder mehrere Zeichen zu, die Lücken hinzufügenMatches zero, one, or more characters that add whitespace. \s\s
PeriodPeriod Ordnet einen Punkt (.) zuMatches a period or dot ("."). \.\.
RightParenRightParen Ordnet eine rechte Klammer „)“ zuMatches a right parenthesis ")". \)\)
SpaceSpace Ordnet ein Zeichen zu, das Lücken hinzufügtMatches a character that adds whitespace. \s\s

Das Muster "A" & MultipleDigits entspricht dem Buchstaben „A“ gefolgt von einer oder mehreren ZiffernFor example, the pattern "A" & MultipleDigits will match the letter "A" followed by one or more digits.

Reguläre AusdrückeRegular expressions

Das Muster IsMatch ist ein regulärer Ausdruck.The pattern used by IsMatch is a regular expression. Normale Zeichen und vordefinierte Muster, die oben beschrieben wurden, unterstützen Sie beim Erstellen von regulären Ausdrücken.The ordinary characters and predefined patterns that are described above help build regular expressions.

Reguläre Ausdrücke sind sehr leistungsstark; sie stehen in vielen Programmiersprachen zur Verfügung und werden für eine Vielzahl von Aufgaben verwendet.Regular expressions are very powerful, available in many programming languages, and used for a wide variety of purposes. In diesem Artikel können nicht alle Aspekte der regulären Ausdrücken beschreiben werden; allerdings können Sie im Internet viele weitere Informationen und Tutorials finden.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 Ausdrücke haben unterschiedliche Dialekte; PowerApps verwendet eine Version von JavaScript.Regular expressions have different dialects, and PowerApps uses a variant of the JavaScript dialect. Weitere Informationen finden Sie unter regular expression syntax (Syntax regulärer Ausdrücke).For more information, see regular expression syntax.

In der oben abgebildeten Tabelle der Match-Enumeration kann jede Enumeration in einen reguläre Ausdruck erweitert werden, der von der Textzeichenfolge in der Spalte „Regular Expression“ (Regulärer Ausdruck) definiert wird.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.

ÜbereinstimmungsoptionenMatch options

Sie können das Verhalten von IsMatch durch Angabe von einer oder mehreren Optionen anpassen, die Sie mit dem Operator für Zeichenfolgenverkettung (&) kombinieren können.You can modify the behavior of IsMatch by specifying one or more options, which you can combine by using the string concatenation operator (&).

Standardmäßig prüft IsMatch auf eine vollständige Übereinstimmung mit der gesamte Textzeichenfolge.By default, IsMatch tests for a complete match of the entire text string.

MatchOptions-EnumerationMatchOptions Enum BeschreibungDescription Auswirkungen auf den regulären AusdruckImpact on regular expression
BeginsWithBeginsWith Das Muster muss ab dem Anfang des Texts übereinstimmen.The pattern must match from the beginning of the text. Fügt ein ^ am Anfang des regulären Ausdrucks einAdds a ^ to the start of the regular expression.
CompleteComplete Standard.Default. Das Muster muss mit dem gesamten Text von Anfang bis Ende übereinstimmen.The pattern must match the entire text, from beginning to end. Fügt ein ^ am Anfang und $ am Ende des regulären Ausdrucks ein.Adds a ^ to the start and $ to the end of the regular expression.
ContainsContains Das Muster muss irgendwo im Text vorkommen; allerdings muss es nicht zwangsläufig am Anfang oder Ende vorkommen.The pattern must appear somewhere in the text but doesn't need to begin or end it. Ändert nicht den regulären AusdruckDoesn't modify the regular expression.
EndsWithEndsWith Das Muster muss dem Ende des Texts entsprechen.The pattern must match the end of the text. Fügt ein $ am Ende des regulären Ausdrucks ein.Adds a $ to the end of the regular expression.
IgnoreCaseIgnoreCase Ist für die Übereinstimmung von Groß- und Kleinbuchstaben verantwortlich.Treats the matching of letters in a case-insensitive manner. Standardmäßig wird bei der Übereinstimmung auf Groß- und Kleinschreibung geachtet.By default, matching is case sensitive. Ändert nicht den regulären AusdruckDoesn't modify the regular expression.
MultilineMultiline Zeilenübergreifende ÜbereinstimmungMatches across multiple lines. Ändert nicht den regulären AusdruckDoesn't modify the regular expression.

SyntaxSyntax

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

  • Text: Erforderlich.Text – Required. Die zu prüfende TextzeichenfolgeThe text string to test.
  • Pattern: erforderlich.Pattern – Required. Das zu prüfende Muster als TextzeichenfolgeThe pattern to test, as a text string. Verketten Sie vordefinierte Muster, die die Match-Enumeration definiert, oder stellen Sie einen regulären Ausdruck zur Verfügung.Concatenate predefined patterns that the Match enum defines or provide a regular expression.
  • Options: optional.Options – Optional. Eine Kombination der Textzeichenfolge aus MatchOptions-Enumerationswerten.A text string combination of MatchOptions enum values. Standardmäßig wird MatchOptions.Complete verwendet.By default, MatchOptions.Complete is used.

BeispieleExamples

Normales ZeichenOrdinary characters

Stellen Sie sich vor, dass die App ein Texteingabe-Steuerelement mit dem Namen TextInput1 enthält.Imagine that your app contains a Text input control named TextInput1. Der Benutzer gibt Werte in dieses Steuerelement ein, die in einer Datenbank gespeichert werden sollen.The user enters values into this control to be stored in a database.

Der Benutzer gibt Hello World in Texteingabe1 ein.The user types Hello world into TextInput1.

FormelFormula BeschreibungDescription ErgebnisResult
IsMatch( TextInput1.Text, "Hello world" )IsMatch( TextInput1.Text, "Hello world" ) Prüft, ob die Benutzereingaben genau mit der Zeichenfolge „Hello World“ übereinstimmtTests whether the user's input matches, exactly, the string "Hello world" TRUEtrue
IsMatch( TextInput1.Text, "Good bye" )IsMatch( TextInput1.Text, "Good bye" ) Prüft, ob die Benutzereingaben genau mit der Zeichenfolge "Good Bye" übereinstimmtTests whether the user's input matches, exactly, the string "Good bye" FALSEfalse
IsMatch( TextInput1.Text, "hello", Contains )IsMatch( TextInput1.Text, "hello", Contains ) Prüft, ob die Eingabe des Benutzers das Wort „Hello“ (Groß-/Kleinschreibung wird beachtet) enthältTests whether the user's input contains the word "hello" (case sensitive). FALSEfalse
IsMatch( TextInput1.Text, "hello", Contains & IgnoreCase )IsMatch( TextInput1.Text, "hello", Contains & IgnoreCase ) Prüft, ob die Eingabe des Benutzers das Wort „Hello“(Groß-/Kleinschreibung beachten) enthält.Tests whether the user's input contains the word "hello" (case insensitive). TRUEtrue

Vordefinierte MusterPredefined patterns

FormelFormula BeschreibungDescription ErgebnisResult
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 ) Ordnet eine US-Sozialversicherungsnummer zuMatches a United States Social Security Number TRUEtrue
IsMatch( "joan@contoso.com", Email )IsMatch( "joan@contoso.com", Email ) Ordnet eine E-Mail-Adresse zuMatches an email address TRUEtrue
IsMatch( "123.456", MultipleDigits & Period & OptionalDigits )IsMatch( "123.456", MultipleDigits & Period & OptionalDigits ) Ordnet eine Folge von Ziffern, einen Punkt (.) und dann 0 (null) oder mehrere Ziffern zuMatches a sequence of digits, a period, and then zero or more digits. TRUEtrue
IsMatch( "123", MultipleDigits & Period & OptionalDigits )IsMatch( "123", MultipleDigits & Period & OptionalDigits ) Ordnet eine Folge von Ziffern, einen Punkt (.) und dann 0 (null) oder mehrere Ziffern zuMatches a sequence of digits, a period, and then zero or more digits. Im Text kommt kein Punkt vor, weshalb dieses Muster nicht übereinstimmt.A period doesn't appear in the text, so this pattern isn't matched. FALSEfalse

Reguläre AusdrückeRegular expressions

FormelFormula BeschreibungDescription ErgebnisResult
IsMatch( "986", "\d+" )IsMatch( "986", "\d+" ) Ordnet eine ganze Zahl größer als 0 (null) zuMatches a an integer greater than zero. TRUEtrue
IsMatch( "1.02", "\d+(.\d\d)?" )IsMatch( "1.02", "\d+(.\d\d)?" ) Ordnet einen positiven Währungsbetrag zuMatches a positive currency amount. Wenn die Eingabe ein Dezimaltrennzeichen enthält, muss die Eingabe auch zwei numerische Zeichen nach dem Dezimaltrennzeichen enthalten.If the input contains a decimal point, the input must also contain 2 numeric characters after the decimal point. 3,00 ist beispielsweise gültig, aber 3,1 nicht.For example, 3.00 is valid, but 3.1 isn't. TRUEtrue
IsMatch( "-4.95", "(-)?\d+(.\d\d)?" )IsMatch( "-4.95", "(-)?\d+(.\d\d)?" ) Ordnet einen positiven oder negativen Währungsbetrag zu.Matches a positive or negative currency amount. Wenn die Eingabe ein Dezimaltrennzeichen enthält, muss die Eingabe auch zwei numerische Zeichen nach dem Dezimaltrennzeichen enthalten.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}" ) Ordnet eine US-Sozialversicherungsnummer zuMatches a United States Social Security number. Überprüft das Format, den Typ und die Länge des angegebenen Eingabefelds.Validates the format, type, and length of the supplied input field. Die Zeichenfolge, die übereinstimmen soll, muss aus drei numerischen Zeichen gefolgt von einem Bindestrich und dann 2 numerische Zeichen gefolgt von einem Bindestrich und dann 4 numerischen Zeichen bestehen.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}" ) Wie im vorherigen Beispiel, aber einer der Bindestriche ist in der Eingabe an der falschen StelleSame 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})" ) Überprüft ein sicheres Kennwort, das 8, 9 oder 10 Zeichen enthalten muss, zusätzlich zu mindestens einer Ziffer und mindestens einem alphabetisches Zeichen.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. Die Zeichenfolge darf keine Sonderzeichen enthalten.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-.?,'/\+&%$#_]\*)?" ) Überprüft eine http-, https- oder ftp-URLValidates an http, https, or ftp URL. TRUEtrue