PowerApps'teki IsMatch işleviIsMatch function in PowerApps

Bir metin dizesinin bir desenle eşleşip eşleşmediğini test eder.Tests whether a text string matches a pattern.

AçıklamaDescription

IsMatch işlevi bir metin dizesinin normal karakterlerden, önceden tanımlanmış desenlerden veya normal ifadeden oluşabilecek bir desenle eşleşip eşleşmediğini test eder.The IsMatch function tests whether a text string matches a pattern that can comprise ordinary characters, predefined patterns, or a regular expression.

Bir kullanıcının Metin girişi denetimine yazdıklarını doğrulamak için IsMatch işlevini kullanın.Use IsMatch to validate what a user has typed in a Text input control. Örneğin, sonuç, veri kaynağınıza kaydedilmeden önce kullanıcının geçerli bir e-posta adresi girip girmediğini doğrulayabilirsiniz.For example, you can confirm whether the user has entered a valid email address before the result is saved to your data source. Giriş, ölçütlerinizle eşleşmiyorsa kullanıcının girişi düzeltmesini isteyen başka denetimler ekleyebilirsiniz.If the entry doesn't match your criteria, add other controls that prompt the user to correct the entry.

Varsayılan olarak, IsMatch; metin dizesinin tamamı için büyük/küçük harfe duyarlı bir eşleşme gerçekleştirir.By default, IsMatch performs a case-sensitive match for the entire text string. Bir veya birden çok MatchOptions belirterek bu davranışı değiştirebilirsiniz.You can modify this behavior by specifying one or more MatchOptions.

IsMatch, metin dizesi desenle eşleşiyorsa true, eşleşmiyorsa false döndürür.IsMatch returns true if the text string matches the pattern or false if it doesn't.

DesenlerPatterns

IsMatch kullanımında en önemli nokta eşleşme gerçekleştirilecek desenin açıklamasıdır.The key to using IsMatch is in describing the pattern to match. Bir metin dizesindeki deseni aşağıdakilerin bir birleşimi olarak açıklayabilirsiniz:You describe the pattern in a text string as a combination of:

  • "abc" veya "123" gibi normal karakterler.Ordinary characters, such as "abc" or "123".
  • Letter, MultipleDigits veya Email gibi önceden tanımlanmış desenler.Predefined patterns, such as Letter, MultipleDigits, or Email. (Match sabit listesi bu desenleri tanımlar.)(The Match enum defines these patterns.)
  • "\d+\s+\d+" veya "[a-z]+" gibi normal ifade kodları.Regular expressions codes, such as "\d+\s+\d+" or "[a-z]+".

& dize birleştirme işlecini kullanarak bu öğeleri birleştirin.Combine these elements by using the string concatenation operator &. Örneğin, "abc" & Digit & "\s+" "a", "b" ve "c" karakterleri, ardından 0 ile 9 arasında bir rakam ve bundan sonra gelen en az bir boşluk karakteriyle eşleşen geçerli bir desendir.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.

Normal karakterlerOrdinary characters

En basit desen, tam eşleşme sağlayacak normal karakterlerden oluşan bir dizidir.The simplest pattern is a sequence of ordinary characters to be matched exactly.

Örneğin, "Hello" dizesi tam olarak "Hello" deseniyle eşleşir.For example, the string "Hello" matches the pattern "Hello" exactly. Bunun herhangi bir şekilde fazlasıyla ve daha küçük bir kısmıyla eşleşmez.No more and no less. "hello!" dizesiThe string "hello!" sondaki ünlem işareti nedeniyle desenle eşleşmez ve "h" harfinin küçük yazılması yanlıştır.doesn't match the pattern because of the exclamation point on the end and the case is wrong for the letter "h". (Bu davranışı değiştirmenin yolları için bkz. MatchOptions.)(See MatchOptions for ways to modify this behavior.)

Desen dilinde belirli karakterler özel amaçlara yönelik olarak ayrılmıştır.In the pattern language, certain characters are reserved for special purposes. Bu karakterleri kullanmak için, karakterin olduğu gibi alınması gerektiğini belirtmek üzere karakterin önüne bir \ (ters eğik çizgi) ekleyin veya önceden tanımlanmış desenlerden birini kullanın.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şağıdaki tabloda özel karakterler listelenmektedir:This table lists the special characters:

Özel karakterSpecial character AçıklamaDescription
.. noktadot or period
?? soru işaretiquestion mark
** yıldız işaretiasterisk
+ artıplus
( )( ) ayraçparenthesis
[ ][ ] köşeli ayraçsquare brackets
{ }{ } küme ayracıcurly braces
^ düzeltme işareticaret
$ dolar işaretidollar sign
|| dikey çubukvertical bar or pipe
\ ters eğik çizgibackslash

Örneğin, soru işaretinden önce bir ters eğik çizgiyleFor example, you can match "Hello?" "Hello\?" desenini kullanarakby using the pattern "Hello\?" "Hello?" dizesi için eşleşme sağlayabilirsiniz.with a backslash before the question mark.

Önceden tanımlanmış desenlerPredefined patterns

Önceden tanımlanmış desenler bir karakter kümesi veya birden çok karakterden oluşan bir karakter dizisiyle eşleşme sağlamak için basit bir yol sunar.Predefined patterns provide a simple way to match one of a set of characters, or a sequence of multiple characters. Kendi metin dizelerinizi Match sabit listesinin üyeleriyle birleştirmek için & dize birleştirme işlecini kullanın:Use the string concatenation operator & to combine your own text strings with members of the Match enum:

Match Sabit ListesiMatch Enum AçıklamaDescription Normal İfadeRegular Expression
AnyAny Herhangi bir karakterle eşleşir.Matches any character. ..
CommaComma Virgül ile eşleşir.Matches a comma. ,,
DigitDigit Tek bir rakam ("0" ila "9") ile eşleşir.Matches a single digit ("0" through "9"). \d\d
EmailEmail "At" simgesi ("@") içeren bir e-posta adresi ve nokta (".") içeren bir etki alanı adıyla eşleşir.Matches an email address that contains an "at" symbol ("@") and a domain name that contains a dot (".") .+@.+\.[^\.]{2,}.+@.+\.[^\.]{2,}
HyphenHyphen Bir kısa çizgi ile eşleşir.Matches a hyphen. \-
LeftParenLeftParen Sol ayraç "(" ile eşleşir.Matches a left parenthesis "(". \(\(
LetterLetter Bir harf ile eşleşir.Matches a letter. \p{L}\p{L}
MultipleDigitsMultipleDigits Bir veya birden çok rakam ile eşleşir.Matches one or more digitis. \d+\d+
MultipleLettersMultipleLetters Bir veya birden çok harf ile eşleşir.Matches one or more letters. \p{L}+\p{L}+
MultipleNonSpacesMultipleNonSpaces Boşluk (boşluk, sekme, yeni satır karakteri) eklemeyen bir veya birden çok karakterle eşleşir.Matches one or more characters that don't add whitespace (space, tab, newline). \S+\S+
MultipleSpacesMultipleSpaces Boşluk (boşluk, sekme, yeni satır) ekleyen bir veya birden çok karakterle eşleşir.Matches one or more characters that add whitespace (space, tab, newline). \s+\s+
NonSpaceNonSpace Boşluk eklemeyen tek bir karakter ile eşleşir.Matches a single character that doesn't add whitespace. \S\S
OptionalDigitsOptionalDigits Sıfır, bir veya birden çok rakam ile eşleşir.Matches zero, one, or more digits. \d\d
OptionalLettersOptionalLetters Sıfır, bir veya birden çok harf ile eşleşir.Matches zero, one, or more letters. \p{L}\p{L}
OptionalNonSpacesOptionalNonSpaces Boşluk eklemeyen sıfır, bir veya birden çok karakterle eşleşir.Matches zero, one, or more characters that don't add whitespace. \S\S
OptionalSpacesOptionalSpaces Boşluk ekleyen sıfır, bir veya birden çok karakterle eşleşir.Matches zero, one, or more characters that add whitespace. \s\s
PeriodPeriod Bir nokta (".") ile eşleşir.Matches a period or dot ("."). \.\.
RightParenRightParen Sağ ayraç ")" ile eşleşir.Matches a right parenthesis ")". \)\)
SpaceSpace Boşluk ekleyen bir karakterle eşleşir.Matches a character that adds whitespace. \s\s

Örneğin, "A" & MultipleDigits deseni, sonrasında bir veya birden çok rakam bulunan "A" harfiyle eşleşir.For example, the pattern "A" & MultipleDigits will match the letter "A" followed by one or more digits.

Normal ifadelerRegular expressions

IsMatch tarafından kullanılan desen bir normal ifadedir.The pattern used by IsMatch is a regular expression. Yukarıda açıklanan normal karakterler ve önceden tanımlanmış desenler normal ifadelerin oluşturulmasına yardımcı olur.The ordinary characters and predefined patterns that are described above help build regular expressions.

Normal ifadeler çok güçlüdür, çok sayıda programlama dilinde ve çeşitli amaçlarla kullanılabilir.Regular expressions are very powerful, available in many programming languages, and used for a wide variety of purposes. Bu makalede normal ifadelerin tüm özellikleri açıklanmamaktadır ancak web'de yayımlanmış çok sayıda bilgi kaynağı ve öğretici size yardımcı olabilir.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.

Normal ifadeler farklı diyalektlere sahiptir ve PowerApps çok sayıda JavaScript diyalekti kullanır.Regular expressions have different dialects, and PowerApps uses a variant of the JavaScript dialect. Daha fazla bilgi için bkz. normal ifade söz dizimi.For more information, see regular expression syntax.

Yukarıdaki Match sabit listesi tablosunda her sabit liste normal ifadeye genişler ve "Normal İfade" sütunundaki metin bu ifadeyi tanımlar.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.

Eşleşme seçenekleriMatch options

Dize birleştirme işlecini (&) kullanarak birleştirebileceğiniz bir veya birden çok seçenek belirterek IsMatch işlevinin davranışını değiştirebilirsiniz.You can modify the behavior of IsMatch by specifying one or more options, which you can combine by using the string concatenation operator (&).

Varsayılan olarak IsMatch tüm metin dizesinin tam bir eşleşmesinin olup olmadığını test eder.By default, IsMatch tests for a complete match of the entire text string.

MatchOptions Sabit ListesiMatchOptions Enum AçıklamaDescription Normal ifadeye etkisiImpact on regular expression
BeginsWithBeginsWith Desen, metnin başıyla eşleşmelidir.The pattern must match from the beginning of the text. Normal ifadenin başına ^ ekler.Adds a ^ to the start of the regular expression.
CompleteComplete Varsayılan.Default. Desen, başından sonuna kadar tüm metinle eşleşmelidir.The pattern must match the entire text, from beginning to end. Normal ifadenin başına ^, sonuna ise $ ekler.Adds a ^ to the start and $ to the end of the regular expression.
ContainsContains Desen metnin herhangi bir yerinde görünmelidir ancak başında veya sonunda olması gerekmez.The pattern must appear somewhere in the text but doesn't need to begin or end it. Normal ifadeyi değiştirmez.Doesn't modify the regular expression.
EndsWithEndsWith Desen metnin sonuyla eşleşmelidir.The pattern must match the end of the text. Normal ifadenin sonuna $ ekler.Adds a $ to the end of the regular expression.
IgnoreCaseIgnoreCase Harflerin eşleşmesini büyük/küçük harfe duyarlı olmayan şekilde gerçekleştirir.Treats the matching of letters in a case-insensitive manner. Eşleşme varsayılan olarak büyük/küçük harfe duyarlıdır.By default, matching is case sensitive. Normal ifadeyi değiştirmez.Doesn't modify the regular expression.
MultilineMultiline Birden çok satırda eşleşme gerçekleştirir.Matches across multiple lines. Normal ifadeyi değiştirmez.Doesn't modify the regular expression.

Söz dizimiSyntax

IsMatch( Metin, Desen [, Seçenekler ] )IsMatch( Text, Pattern [, Options ] )

  • Metin: Gerekli.Text – Required. Test edilecek metin dizesi.The text string to test.
  • Desen: Gerekli.Pattern – Required. Metin dizesi olarak test edilecek desen.The pattern to test, as a text string. Match sabit listesinin tanımladığı önceden tanımlanmış desenleri birleştirin veya normal ifade belirtin.Concatenate predefined patterns that the Match enum defines or provide a regular expression.
  • Seçenekler: İsteğe bağlı.Options – Optional. MatchOptions sabit listesi değerlerinin bir metin dizesi birleşimi.A text string combination of MatchOptions enum values. Varsayılan olarak MatchOptions.Complete kullanılır.By default, MatchOptions.Complete is used.

ÖrneklerExamples

Normal karakterlerOrdinary characters

Uygulamanızın TextInput1 adında bir Metin girişi denetimi içerdiğini varsayalım.Imagine that your app contains a Text input control named TextInput1. Kullanıcı bu denetime veritabanında depolanacak değerler girer.The user enters values into this control to be stored in a database.

Kullanıcı TextInput1 için Hello world ifadesini girer.The user types Hello world into TextInput1.

FormülFormula AçıklamaDescription SonuçResult
IsMatch( TextInput1.Text, "Hello world" )IsMatch( TextInput1.Text, "Hello world" ) Kullanıcının girişinin tam olarak "Hello world" dizesiyle eşleşip eşleşmediğini test ederTests whether the user's input matches, exactly, the string "Hello world" truetrue
IsMatch( TextInput1.Text, "Good bye" )IsMatch( TextInput1.Text, "Good bye" ) Kullanıcının girişinin tam olarak "Good bye"dizesiyle eşleşip eşleşmediğini test ederTests whether the user's input matches, exactly, the string "Good bye" falsefalse
IsMatch( TextInput1.Text, "hello", Contains )IsMatch( TextInput1.Text, "hello", Contains ) Kullanıcının girişinin "hello" sözcüğünü içerip içermediğini (büyük/küçük harfe duyarlı) test eder.Tests whether the user's input contains the word "hello" (case sensitive). falsefalse
IsMatch( TextInput1.Text, "hello", Contains & IgnoreCase )IsMatch( TextInput1.Text, "hello", Contains & IgnoreCase ) Kullanıcının girişinin "hello" sözcüğünü içerip içermediğini (büyük/küçük harfe duyarlı değil) test eder.Tests whether the user's input contains the word "hello" (case insensitive). truetrue

Önceden tanımlanmış desenlerPredefined patterns

FormülFormula AçıklamaDescription SonuçResult
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 ) ABD Sosyal Güvenlik Numarası ile eşleşirMatches a United States Social Security Number truetrue
IsMatch( "joan@contoso.com", Email )IsMatch( "joan@contoso.com", Email ) Bir e-posta adresiyle eşleşirMatches an email address truetrue
IsMatch( "123.456", MultipleDigits & Period & OptionalDigits )IsMatch( "123.456", MultipleDigits & Period & OptionalDigits ) Bir dizi rakam, nokta ve ardından sıfır veya daha fazla rakam ile eşleşir.Matches a sequence of digits, a period, and then zero or more digits. truetrue
IsMatch( "123", MultipleDigits & Period & OptionalDigits )IsMatch( "123", MultipleDigits & Period & OptionalDigits ) Bir dizi rakam, nokta ve ardından sıfır veya daha fazla rakam ile eşleşir.Matches a sequence of digits, a period, and then zero or more digits. Metinde nokta görünmediğinden bu desen eşleşmez.A period doesn't appear in the text, so this pattern isn't matched. falsefalse

Normal ifadelerRegular expressions

FormülFormula AçıklamaDescription SonuçResult
IsMatch( "986", "\d+" )IsMatch( "986", "\d+" ) Sıfırdan büyük bir tamsayıyla eşleşir.Matches a an integer greater than zero. truetrue
IsMatch( "1.02", "\d+(.\d\d)?" )IsMatch( "1.02", "\d+(.\d\d)?" ) Pozitif bir para birimi tutarıyla eşleşir.Matches a positive currency amount. Giriş, ondalık ayırıcı içeriyorsa ondalık ayırıcıdan sonra 2 sayısal karakter de içermelidir.If the input contains a decimal point, the input must also contain 2 numeric characters after the decimal point. Örneğin, 3.00 geçerlidir, ancak 3.1 değildir.For example, 3.00 is valid, but 3.1 isn't. truetrue
IsMatch( "-4.95", "(-)?\d+(.\d\d)?" )IsMatch( "-4.95", "(-)?\d+(.\d\d)?" ) Pozitif veya negatif bir para birimi tutarıyla eşleşir.Matches a positive or negative currency amount. Giriş, ondalık ayırıcı içeriyorsa ondalık ayırıcıdan sonra 2 sayısal karakter de içermelidir.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}" ) ABD Sosyal Güvenlik Numarası ile eşleşirMatches a United States Social Security number. Sağlanan giriş alanının biçimini, türünü ve uzunluğunu doğrular.Validates the format, type, and length of the supplied input field. Eşleşme sağlanacak dize; sonrasında bir kısa çizgi bulunan 3 sayısal karakter, ardından sonrasında bir kısa çizgi bulunan 2 sayısal karakter ve bunun da ardından 4 sayısal karakterden oluşmalıdır.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}" ) Bu, bir önceki örnekle aynıdır ancak girişteki kısa çizgilerden biri aynı yerde değildir.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})" ) 8, 9 veya 10 karakterin yanı sıra en az bir rakam ve en az bir alfabetik karakter içermesi gereken bir parolanın güvenlik düzeyini doğrular.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. Dize, özel karakter içermemelidir.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-.?,'/\+&%$#_]*)?" ) Bir http, https veya ftp URL'sini doğrular.Validates an http, https, or ftp URL. truetrue