Az IsMatch függvény a PowerApps szolgáltatásbanIsMatch function in PowerApps

Annak ellenőrzése, hogy egy szöveges karakterlánc egy mintának megfelelő-e.Tests whether a text string matches a pattern.

LeírásDescription

Az IsMatch függvény ellenőrzi, hogy egy szöveges karakterlánc megfelel-e egy olyan mintának, mely normál karaktereket, előre meghatározott mintákat vagy egy reguláris kifejezést tartalmazhat.The IsMatch function tests whether a text string matches a pattern that can comprise ordinary characters, predefined patterns, or a regular expression.

Az IsMatch függvénnyel ellenőrizheti, hogy a felhasználó mit adott meg egy Szövegbevitel vezérlőelemben.Use IsMatch to validate what a user has typed in a Text input control. Ellenőrizheti például az eredmény az adatforrásba való mentése előtt, hogy a felhasználó érvényes e-mail-címet adott-e meg.For example, you can confirm whether the user has entered a valid email address before the result is saved to your data source. Ha a bejegyzés nem felel meg a feltételeknek, hozzáadhat további vezérlőelemeket, melyek a bejegyzés javítására kérik a felhasználót.If the entry doesn't match your criteria, add other controls that prompt the user to correct the entry.

Az IsMatch alapértelmezés szerint a teljes szöveges karakterlánc kis- és nagybetűk megkülönböztetésével végzett egyeztetését hajtja végre.By default, IsMatch performs a case-sensitive match for the entire text string. Ezt a működést egy vagy több egyeztetési beállítás megadásával módosíthatja.You can modify this behavior by specifying one or more MatchOptions.

Az IsMatch függvény true (igaz) értéket ad vissza, ha a szöveges karakterlánc megfelel a mintának, és false (hamis) értéket, ha nem.IsMatch returns true if the text string matches the pattern or false if it doesn't.

MintákPatterns

Az IsMatch függvény használatához a legfontosabb az egyeztetni kívánt minta megadása.The key to using IsMatch is in describing the pattern to match. A mintát egy szöveges karakterláncban adhatja meg a következők kombinációjaként:You describe the pattern in a text string as a combination of:

  • Normál karakterek, mint például az "abc" vagy az "123".Ordinary characters, such as "abc" or "123".
  • Előre meghatározott minták, mint például a Letter (Betű), a MultipleDigits (Több számjegy) vagy az Email (E-mail-cím).Predefined patterns, such as Letter, MultipleDigits, or Email. (Ezek a minták a Match (Egyezés) enumerálásban vannak meghatározva.)(The Match enum defines these patterns.)
  • Reguláris kifejezések kódjai, mint például a "\d+\s+\d+" vagy az "[a – z] +".Regular expressions codes, such as "\d+\s+\d+" or "[a-z]+".

Ezeket az elemeket a karakterlánc-összefűzési operátorral (&) kapcsolhatja össze.Combine these elements by using the string concatenation operator &. Az "abc" & Digit & "\s+" minta például érvényes, amely illeszkedik az olyan "a", "b" és "c" karakterekre, melyeket egy 0 és 9 közötti számjegy, és legalább egy térközkarakter követ.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.

Normál karakterekOrdinary characters

A legegyszerűbb minta normál karakterek egy sorozata, mellyel pontos egyezést kell keresni.The simplest pattern is a sequence of ordinary characters to be matched exactly.

A "Hello" karakterlánc például pontosan megfelel a "Hello" mintának.For example, the string "Hello" matches the pattern "Hello" exactly. Annál nem több, és nem is kevesebb.No more and no less. A "hello!" karakterláncThe string "hello!" nem felel meg a mintának, mert a végén felkiáltójel szerepel, illetve mert nem nagy "h" szerepel benne.doesn't match the pattern because of the exclamation point on the end and the case is wrong for the letter "h". (A működés módosításával kapcsolatban lásd az Egyeztetési beállítás című szakaszt.)(See MatchOptions for ways to modify this behavior.)

A mintanyelvben bizonyos karakterek speciális célokra vannak fenntartva.In the pattern language, certain characters are reserved for special purposes. Ezen karakterek használatához lássa el az adott karaktert \ (fordított perjel) előtaggal annak jelölésére, hogy a következő karaktert szó szerint kell értelmezni, vagy használja az előre meghatározott minták egyikét.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. A speciális karakterek a következő táblázatban vannak felsorolva:This table lists the special characters:

Speciális karakterSpecial character LeírásDescription
.. pontdot or period
?? kérdőjelquestion mark
** csillagasterisk
+ pluszjelplus
( )( ) zárójelekparenthesis
[ ][ ] szögletes zárójeleksquare brackets
{ }{ } kapcsos zárójelekcurly braces
^ kalap jelcaret
$ dollárjeldollar sign
|| függőleges vonalvertical bar or pipe
\ fordított perjelbackslash

A "Hello?" szöveg egyeztetéséhez példáulFor example, you can match "Hello?" a "Hello\?" mintát használhatja,by using the pattern "Hello\?" melyben egy fordított perjel áll a kérdőjel előtt.with a backslash before the question mark.

Előre meghatározott mintákPredefined patterns

Az előre meghatározott mintákkal egyszerűen egyeztethető egy karakterkészlet vagy több karakter sorozata.Predefined patterns provide a simple way to match one of a set of characters, or a sequence of multiple characters. A karakterlánc-összefűzési operátorral (&) összekapcsolhatja saját szövegeit a Match (Egyezés) enumerálás tagjaival:Use the string concatenation operator & to combine your own text strings with members of the Match enum:

Match enumerálásMatch Enum LeírásDescription Reguláris kifejezésRegular Expression
Any (Bármely)Any Tetszőleges karakterre illeszkedik.Matches any character. ..
Comma (Vessző)Comma Egy vesszőre illeszkedik.Matches a comma. ,,
Digit (Számjegy)Digit Egyetlen ("0" és "9" közötti) számjegyre illeszkedik.Matches a single digit ("0" through "9"). \d\d
Email (E-mail-cím)Email Egy olyan e-mail-címre illeszkedik, amely tartalmaz egy kukacjelet ("@"), illetve egy pontot (".") tartalmazó tartománynevet.Matches an email address that contains an "at" symbol ("@") and a domain name that contains a dot (".") .+@.+\.[^\.]{2,}.+@.+\.[^\.]{2,}
Hyphen (Kötőjel)Hyphen Egy kötőjelre illeszkedik.Matches a hyphen. \-
LeftParen (Nyitó zárójel)LeftParen Egy nyitó zárójelre ("(") illeszkedik.Matches a left parenthesis "(". \(\(
Letter (Betű)Letter Egy betűre illeszkedik.Matches a letter. \p{L}\p{L}
MultipleDigits (Több számjegy)MultipleDigits Egy vagy több számjegyre illeszkedik.Matches one or more digitis. \d+\d+
MultipleLetters (Több betű)MultipleLetters Egy vagy több betűre illeszkedik.Matches one or more letters. \p{L}+\p{L}+
MultipleNonSpaces (Több szóköztől eltérő karakter)MultipleNonSpaces Egy vagy több olyan karakterre illeszkedik, amely nem szúr be térközt (szóköz, tabulátor, soremelés).Matches one or more characters that don't add whitespace (space, tab, newline). \S+\S+
MultipleSpaces (Több szóköz)MultipleSpaces Egy vagy több olyan karakterre illeszkedik, amely térközt szúr be (szóköz, tabulátor, soremelés).Matches one or more characters that add whitespace (space, tab, newline). \s+\s+
NonSpace (Szóköztől eltérő karakter)NonSpace Egyetlen olyan karakterre illeszkedik, amely nem szúr be térközt.Matches a single character that doesn't add whitespace. \S\S
OptionalDigits (Nem kötelező számjegyek)OptionalDigits Nulla, egy vagy több számjegyre illeszkedik.Matches zero, one, or more digits. \d\d
OptionalLetters (Nem kötelező betűk)OptionalLetters Nulla, egy vagy több betűre illeszkedik.Matches zero, one, or more letters. \p{L}\p{L}
OptionalNonSpaces (Nem kötelező szóköztől eltérő karakterek)OptionalNonSpaces Nulla, egy vagy több olyan karakterre illeszkedik, amely nem szúr be térközt.Matches zero, one, or more characters that don't add whitespace. \S\S
OptionalSpaces (Nem kötelező szóközök)OptionalSpaces Nulla, egy vagy több olyan karakterre illeszkedik, amely térközt szúr be.Matches zero, one, or more characters that add whitespace. \s\s
Period (Pont)Period Egy pontra (".") illeszkedik.Matches a period or dot ("."). \.\.
RightParen (Záró zárójel)RightParen Egy záró zárójelre (")") illeszkedik.Matches a right parenthesis ")". \)\)
Space (Szóköz)Space Egy olyan karakterre illeszkedik, amely térközt szúr be.Matches a character that adds whitespace. \s\s

Az "A" & MultipleDigits minta például illeszkedik az olyan "A" betűkre, melyeket egy vagy több számjegy követ.For example, the pattern "A" & MultipleDigits will match the letter "A" followed by one or more digits.

Reguláris kifejezésekRegular expressions

Az IsMatch függvény által használt minta egy reguláris kifejezés.The pattern used by IsMatch is a regular expression. A fentebbiekben leírt normál karakterekből és előre meghatározott mintákból reguláris kifejezések hozhatók létre.The ordinary characters and predefined patterns that are described above help build regular expressions.

A reguláris kifejezések nagyon hatékonyak, számos programozási nyelvben elérhetők, és számos különböző célra használhatók.Regular expressions are very powerful, available in many programming languages, and used for a wide variety of purposes. Ebben a cikkben nincs lehetőség minden szempontból leírni a reguláris kifejezéseket, de az interneten bőségesen érhetők el információk és oktatóanyagok, melyek a segítségére lehetnek.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.

A reguláris kifejezéseknek különböző dialektusai vannak, és a PowerApps a JavaScript-dialektus változatát használja.Regular expressions have different dialects, and PowerApps uses a variant of the JavaScript dialect. További információkért tekintse meg a reguláris kifejezések szintaxisát.For more information, see regular expression syntax.

A rendszer minden, a Match enumerálás fenti táblázatában szereplő enumerálás helyére egy reguláris kifejezést helyettesít be, és ez a kifejezés a „Reguláris kifejezés” oszlopban szereplő szöveges karakterláncban van meghatározva.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.

Egyeztetési beállításokMatch options

Az IsMatch függvény működése módosítható egy vagy több beállítással, melyeket a karakterlánc-összefűzési operátorral (&) lehet összekapcsolni.You can modify the behavior of IsMatch by specifying one or more options, which you can combine by using the string concatenation operator (&).

Az IsMatch függvény alapértelmezés szerint az egész szöveges karakterlánc teljes egyezését ellenőrzi.By default, IsMatch tests for a complete match of the entire text string.

MatchOptions enumerációMatchOptions Enum LeírásDescription Reguláris kifejezésre gyakorolt hatásImpact on regular expression
BeginsWith (Kezdete)BeginsWith A mintának a szöveg elejétől kezdve kell illeszkednie.The pattern must match from the beginning of the text. Egy ^ jelet szúr be a reguláris kifejezés elejére.Adds a ^ to the start of the regular expression.
Complete (Teljes)Complete Az alapértelmezett érték.Default. A mintának a teljes szöveggel meg kell egyeznie, elejétől a végéig.The pattern must match the entire text, from beginning to end. A reguláris kifejezés elejére egy ^, a végére pedig egy $ jelet szúr be.Adds a ^ to the start and $ to the end of the regular expression.
Contains (Tartalmazza)Contains A mintának valahol meg kell jelennie a szövegben, de nem szükséges azzal kezdődnie vagy végződnie.The pattern must appear somewhere in the text but doesn't need to begin or end it. Nem módosítja a reguláris kifejezést.Doesn't modify the regular expression.
EndsWith (Vége)EndsWith A mintának a szöveg végére kell illeszkednie.The pattern must match the end of the text. Egy $ jelet szúr be a reguláris kifejezés végére.Adds a $ to the end of the regular expression.
IgnoreCase (Kis- és nagybetűk egyezőek)IgnoreCase A kis- és nagybetűk megkülönböztetése nélkül kezeli a betűk egyeztetését.Treats the matching of letters in a case-insensitive manner. Az egyeztetés alapértelmezés szerint megkülönbözteti a kis- és nagybetűket.By default, matching is case sensitive. Nem módosítja a reguláris kifejezést.Doesn't modify the regular expression.
Multiline (Többsoros)Multiline Több soron keresztül végez egyeztetést.Matches across multiple lines. Nem módosítja a reguláris kifejezést.Doesn't modify the regular expression.

SzintaxisSyntax

IsMatch( Szöveg, Minta [, Beállítások ] )IsMatch( Text, Pattern [, Options ] )

  • Szöveg – Kötelező megadni.Text – Required. A vizsgálni kívánt szöveges karakterlánc.The text string to test.
  • Minta – Kötelező megadni.Pattern – Required. A vizsgálni kívánt minta, szöveges karakterlánc formájában.The pattern to test, as a text string. Összefűzhet a Match enumerációban definiált előre meghatározott mintákat, vagy megadhat egy reguláris kifejezést.Concatenate predefined patterns that the Match enum defines or provide a regular expression.
  • Beállítások – Nem kötelező.Options – Optional. A MatchOptions enumeráció értékeinek szöveges karakterláncban megadott kombinációja.A text string combination of MatchOptions enum values. A rendszer alapértelmezés szerint a MatchOptions.Complete beállítást használja.By default, MatchOptions.Complete is used.

PéldákExamples

Normál karakterekOrdinary characters

Tegyük fel, hogy az alkalmazásban található egy Szövegbevitel1 nevű Szövegbevitel vezérlőelem.Imagine that your app contains a Text input control named TextInput1. A felhasználó értékeket adhat meg ebben a vezérlőelemben egy adatbázisban való tárolás céljából.The user enters values into this control to be stored in a database.

A felhasználó beírja a Szövegbevitel1 vezérlőelembe, hogy Helló, világ.The user types Hello world into TextInput1.

KépletFormula LeírásDescription EredményResult
IsMatch ( Szövegbevitel1.Text, "Helló, világ")IsMatch( TextInput1.Text, "Hello world" ) Azt ellenőrzi, hogy a felhasználói bevitel megegyezik-e a "Helló, világ" karakterlánccalTests whether the user's input matches, exactly, the string "Hello world" truetrue
IsMatch ( Szövegbevitel1.Text, "Viszlát")IsMatch( TextInput1.Text, "Good bye" ) Azt ellenőrzi, hogy a felhasználói bevitel megegyezik-e a "Viszlát" karakterlánccalTests whether the user's input matches, exactly, the string "Good bye" falsefalse
IsMatch( Szövegbevitel1.Text, "helló", Contains )IsMatch( TextInput1.Text, "hello", Contains ) Azt ellenőrzi, hogy a felhasználói bevitel tartalmazza-e a "helló" szót (a kis- és nagybetűk megkülönböztetésével).Tests whether the user's input contains the word "hello" (case sensitive). falsefalse
IsMatch( Szövegbevitel1.Text, "helló", Contains & IgnoreCase )IsMatch( TextInput1.Text, "hello", Contains & IgnoreCase ) Azt ellenőrzi, hogy a felhasználói bevitel tartalmazza-e a "helló" szót (a kis- és nagybetűk megkülönböztetése nélkül).Tests whether the user's input contains the word "hello" (case insensitive). truetrue

Előre meghatározott mintákPredefined patterns

KépletFormula LeírásDescription EredményResult
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 ) Egyesült államokbeli társadalombiztosítási számokra illeszkedikMatches a United States Social Security Number truetrue
IsMatch( "joan@contoso.com", Email )IsMatch( "joan@contoso.com", Email ) E-mail-címekre illeszkedikMatches an email address true (igaz)true
IsMatch( "123.456", MultipleDigits & Period & OptionalDigits )IsMatch( "123.456", MultipleDigits & Period & OptionalDigits ) Számjegyek olyan sorozataira illeszkedik, melyet egy pont, majd nulla vagy több számjegy követ.Matches a sequence of digits, a period, and then zero or more digits. truetrue
IsMatch( "123", MultipleDigits & Period & OptionalDigits )IsMatch( "123", MultipleDigits & Period & OptionalDigits ) Számjegyek olyan sorozataira illeszkedik, melyet egy pont, majd nulla vagy több számjegy követ.Matches a sequence of digits, a period, and then zero or more digits. A szövegben nem szerepel pont, így ez a minta nem egyezik.A period doesn't appear in the text, so this pattern isn't matched. falsefalse

Reguláris kifejezésekRegular expressions

KépletFormula LeírásDescription EredményResult
IsMatch( "986", "\d+" )IsMatch( "986", "\d+" ) Nullánál nagyobb egész számokra illeszkedik.Matches a an integer greater than zero. truetrue
IsMatch( "1.02", "\d+(.\d\d)?" )IsMatch( "1.02", "\d+(.\d\d)?" ) Pozitív pénznemösszegekre illeszkedik.Matches a positive currency amount. Ha a bemenetben szerepel tizedespont, akkor a tizedespont után legalább 2 számjegyet is tartalmaznia kell.If the input contains a decimal point, the input must also contain 2 numeric characters after the decimal point. A 3.00 például érvényes, a 3.1 viszont nem.For example, 3.00 is valid, but 3.1 isn't. truetrue
IsMatch( "-4.95", "(-)?\d+(.\d\d)?" )IsMatch( "-4.95", "(-)?\d+(.\d\d)?" ) Pozitív vagy negatív pénznemösszegekre illeszkedik.Matches a positive or negative currency amount. Ha a bemenetben szerepel tizedespont, akkor a tizedespont után legalább 2 számjegyet is tartalmaznia kell.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}" ) Egyesült államokbeli társadalombiztosítási számokra illeszkedik.Matches a United States Social Security number. Ellenőrzi a megadott beviteli mező formátumát, típusát és hosszát.Validates the format, type, and length of the supplied input field. Az egyeztetni kívánt karakterláncnak 3 számjegyből, egy ezeket követő kötőjelből, majd 2 számjegyből és egy ezeket követő kötőjelből, majd 4 számjegyből kell állnia.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}" ) Megegyezik az előző példával azt leszámítva, hogy az egyik kötőjel elhelyezkedése nem megfelelő a bemenetben.Same as the previous example, but one of the hyphens is out of place in the input. falsefalse
IsMatch( "gyengejelszó", "(?!^[0-9]*$)(?!^[a-zA-Z]*$)([a-zA-Z0-9]{8,10})" )IsMatch( "weakpassword", "(?!^[0-9]*$)(?!^[a-zA-Z]*$)([a-zA-Z0-9]{8,10})" ) Érvényesít egy erős jelszót, melynek 8, 9 vagy 10 karakterből kell állnia, valamint legalább egy számot és egy betűt kell tartalmaznia.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. A karakterlánc nem tartalmazhat különleges karaktereket.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-.?,'/\+&%$#_]*)?" ) Egy HTTP, HTTPS vagy FTP URL-címet érvényesít.Validates an http, https, or ftp URL. truetrue