Aracılığıyla paylaş


IsMatch, Matchve MatchAll işlevleri

Şunlar için geçerlidir: Tuval uygulamaları Copilot Studio Model temelli uygulamalar Power Platform CLI Dataverse işlevleri Power Pages

Eşleşmeyi test eder veya bir desene göre metin dizesinin bölümlerini ayıklar.

Açıklama

İşlev, IsMatch bir metin dizesinin sıradan karakterler, önceden tanımlanmış desenler veya normal ifade oluşturabilen bir desenle eşleşip eşleşmediğini test eder. Match ve MatchAll işlevleri, altmatches de dahil olmak üzere eşleştirilenleri döndürür.

Kullanıcının Metin girişi denetimine ne yazıldığını doğrulamak için kullanınIsMatch. Örneğin, sonuç veri kaynağınıza kaydedilmeden önce kullanıcının geçerli bir e-posta adresi girip girmediğini onaylayın. Girdi ölçütlerinizle eşleşmiyorsa, kullanıcıdan girdiyi düzeltmesini isteyen başka denetimler ekleyin.

Desenle eşleşen ilk metin dizesini ayıklamak ve MatchAll eşleşen tüm metin dizelerini ayıklamak için kullanınMatch. Karmaşık dizeleri ayrıştırmak için alt değerleri ayıklayın.

Match bulunan ilk eşleşme için bir bilgi kaydı döndürür ve MatchAll bulunan her eşleşme için bir kayıt tablosu döndürür. Kayıt veya kayıtlar şunları içerir:

Column Türü Açıklama
Adlandırılmış alt eşleşme veya alt eşleşmeler Metin Her adlandırılmış alt eşleşmenin kendi sütunu vardır. (? kullanarak adlandırılmış bir alt eşleşme oluşturulsun mu?<ad>... ) öğesini seçin. Adlandırılmış alt eşleşme önceden tanımlanmış sütunlardan biriyle aynı ada sahipse, alt eşleşme önceliklidir ve bir uyarı oluşturulur. Bu uyarıyı önlemek için alt eşleşmeyi yeniden adlandırın.
Tam Maç Metin Eşleşen tüm metin dizesi.
Maçı Başlat Numara Giriş metin dizesindeki eşleşmenin başlangıç konumu. Dizenin ilk karakteri 1 döndürür.
SubMatches, yalnızca MatchOptions.NumberedSubMatches kullanılırsa. Metnin tek sütunlu tablosu (sütun Değer) Normal ifadede göründükleri sırayla numaralandırılmış altmatches tablosu. Genellikle, adlandırılmış altmatches ile çalışmak daha kolaydır ve teşvik edilir. Tek bir alt eşleşmeyle çalışmak için ForAll işlevini veya Index işlevini kullanın. Normal ifadede hiçbir alt sunucu tanımlanmadıysa, bu tablo mevcut ancak boş olacaktır.

Bu işlevler MatchOptions'ı destekler. Varsayılan olarak:

  • Bu işlevler, büyük/küçük harf duyarlı eşleşme gerçekleştirirler. Büyük/küçük harfe duyarlı olmayan eşleşmeler gerçekleştirmek için MatchOptions.IgnoreCase kullanın.
  • IsMatch tüm metin dizesiyle (Complete MatchOption) eşleşir Match ve MatchAll metin dizesinde herhangi bir yerde eşleşme arar (MatchOption içerir ). Senaryonuza uygun şekilde Complete, Contains, BeginsWith veya EndsWith kullanın.

IsMatch metin dizesi desenle eşleşiyorsa true veya eşleşmiyorsa false döndürür. Match IsBlank işleviyle test edilebilecek eşleşme bulunmazsa boş döndürür. MatchAll IsEmpty işleviyle test edilebilen bir eşleşme bulunamazsa boş bir tablo döndürür.

Bir metin dizesini bölmek için kullanıyorsanız MatchAll , daha basit ve daha hızlı olan Split işlevini kullanmayı göz önünde bulundurun.

Desenler

Bu işlevlerin kullanımında en önemli nokta eşleşme gerçekleştirilecek desenin açıklamasıdır. Bir metin dizesindeki deseni aşağıdakilerin bir birleşimi olarak açıklayabilirsiniz:

  • "abc" veya "123" gibi normal karakterler.
  • Letter, MultipleDigits veya Email gibi önceden tanımlanmış desenler. (Sabit Match listesi bu desenleri tanımlar.)
  • "\d+\s+\d+" veya "[a-z]+" gibi normal ifade kodları.

Dize birleştirme işlecini kullanarak bu öğeleri birleştirin . Ö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.

Normal karakterler

En basit desen, tam olarak eşleşen sıradan karakterler dizisidir.

Örneğin, işleviyle kullanıldığında IsMatch , "Hello" dizesi "Hello" deseniyle tam olarak eşleşir. Bunun herhangi bir şekilde fazlasıyla ve daha küçük bir kısmıyla eşleşmez. "hello!" Dize, sonundaki ünlem işaretinden ve "h" harfi için büyük/küçük harf yanlış olduğundan desenle eşleşmiyor. (Bu davranışı değiştirmenin yolları için seçeneklere bakınMatch.)

Desen dilinde karakterler . ? * + ( ) [ ] ^ $ | \ özel amaçlar için ayrılmıştır. Bu karakterleri kullanmak için, karakterin tam anlamıyla alınması gerektiğini belirtmek için karakterin önüne bir \ (ters eğik çizgi) ekleyin veya önceden tanımlanmış desenlerden birini kullanın. Örneğin, soru işaretinden önce deseni "Hello?" ters eğik çizgiyle kullanarak dizeyi "Hello\\?" eşleştirebilirsiniz.

Önceden tanımlanmış desenler

Ö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. Kendi metin dizelerinizi sabit listesi üyeleriyle birleştirmek için dize birleştirme işleciniMatch kullanın:

Match sabit listesi Açıklama Normal ifade
Herhangi Herhangi bir karakterle eşleşir. .
Virgül Virgülle ,eşleşir. ,
Parmak Tek bir rakam ("0" ila "9") ile eşleşir. \d
E-posta "at" simgesi ("@") içeren bir e-posta adresi ve nokta (".") içeren bir etki alanı adıyla eşleşir Nota bakın
Tire Bir kısa çizgi ile eşleşir. - Nota bakın
SolParen Sol parantezle eşleşir (. \(
Mektup Bir harf ile eşleşir. \p{L}
Çoklu Rakamlar Bir veya birden çok rakamla eşleşir. \d+
Çoklu Harfler Bir veya birden çok harf ile eşleşir. \p{L}+
MultipleNonSpaces (ÇokluBoşluklar) Beyaz boşluk (boşluk, sekme veya yeni satır değil) eklemeyen bir veya birden çok karakterle eşleşir. \S+
Çoklu Boşluklar Boşluk (boşluk, sekme veya yeni satır) ekleyen bir veya birden çok karakterle eşleşir. \s+
Boşluk Yok Boşluk eklemeyen tek bir karakter ile eşleşir. \S
İsteğe Bağlı Rakamlar Sıfır, bir veya birden çok rakam ile eşleşir. \d*
İsteğe Bağlı Harfler Sıfır, bir veya birden çok harf ile eşleşir. \p{L}*
İsteğe BağlıBoşluk Bırakmaz Boşluk eklemeyen sıfır, bir veya birden çok karakterle eşleşir. \S*
İsteğe Bağlı Alanlar Boşluk ekleyen sıfır, bir veya birden çok karakterle eşleşir. \s*
Dönem Nokta veya nokta ile eşleşir .. \.
RightParen Sağ parantezle eşleşir ). \)
Uzay Boşluk ekleyen bir karakterle eşleşir. \s
Sekme Bir sekme karakteriyle eşleşir. \t

Örneğin, "A" ve MultipleDigits deseni , "A" harfiyle ve ardından bir veya daha fazla basamakla eşleşir.

Power Apps için Matchfarklı bir tanım kullanır. E-posta ve Match. Kısa çizgi. Konağınız tarafından kullanılan normal ifadeyi görmek için değerlendirin Text( Match.Email ) .

Normal ifadeler

Bu işlevlerin kullandığı desene normal ifade adı verilir. Power Fx'in normal ifadelere özgü diyalektini Power Fx'teki Normal ifadeler bölümünde ayrıntılı olarak bulabilirsiniz.

Normal ifadeler güçlü ve çok çeşitli amaçlara hizmet eder. Ayrıca rastgele noktalama işaretleri dizisi gibi görünebilirler. Bu makalede normal ifadelerin tüm yönleri açıklanmaktadır, ancak çevrimiçi ortamda çok sayıda bilgi, öğretici ve araç mevcuttur.

Normal ifadeler uzun bir geçmişe sahiptir ve birçok programlama dilinde kullanılabilir. Her programlama dilinin kendi normal ifade diyalektleri vardır ve birkaç standart vardır. Aynı normal ifadenin tüm Power Fx uygulamalarında aynı sonucu verdiğinden emin olmak için çalışıyoruz. Power Fx önemli farklılıklara sahip JavaScript ve .NET üzerinde çalıştığından uyumluluğu gerçekleştirmek kolay değildir. Farklı platformlarda çalışmaya uyum sağlamak için Power Fx normal ifadeleri, sektörde yaygın olarak desteklenen özelliklerin bir alt kümesiyle sınırlıdır.

Sonuç olarak, diğer ortamlarda çalışabilecek bazı normal ifadeler engellenebilir veya Power Fx'te ince ayar yapılmasını gerektirebilir. Desteklenmeyen özelliklerle karşılaşıldığında yazma zamanı hataları bildirilir. Bu, normal ifadenin ve seçeneklerin dinamik değil yazma zamanı sabiti (örneğin, bir değişkende sağlanır) olması gerektiğinin nedenlerinden biridir.

Uyarı

Power Apps, daha az sınırlaması olan ancak aynı zamanda daha az özelliğe sahip power fx normal ifadelerinin önceki bir sürümünü kullanır. MatchOptions.DotAll ve MatchOptions.FreeSpacing kullanılamaz ve tanımları Match. E-posta ve Match. Kısa çizgi farklıdır. Unicode vekil çiftleri tek bir karakter olarak değerlendirilmez. MatchOptions.NumberedSubMatches varsayılan değerdir. Burada açıklanan normal ifadelerin sürümü yakında Power Apps'te "Power Fx V1.0 uyumluluğu" anahtarı altında kullanıma sunulacaktır.

Burada, bir sayıyı ayrıştırmada karmaşıklık oluşturan normal ifadelerin bazı temel öğeleri yer alır.

Özellik Example Açıklama
Önceden tanımlanmış karakter sınıfı \d Bu normal ifade gibi 1tek bir sayıyla eşleşir. Karakter sınıfı bir karakter kümesiyle eşleşir ve \d standart basamakları 09 ve "Nd" Unicode karakter kategorisinde tanımlanan basamakları eşleştirir. harf ve sayılar \w için karakter sınıfları ve ile yeni satırlar da dahil olmak üzere boşluklar \svardır. Büyük harfe ayrılmış ters karakter sınıfları da vardır: \D olmayan her şeyle \d eşleşir.
Bir veya Daha Fazla \d+ Bu normal ifade gibi 123bir veya daha fazla sayıyla eşleşir. Bir + öğeden sonra bir son öğenin "bir veya daha fazla" ifadesini söyler.
Sıfır veya Bir \+?\d Bu normal ifade, ++123isteğe bağlı 123 bir işaretin ardından yalnızca gibi bir veya daha fazla sayıyla eşleşir. Bir ? öğeden sonra "bu isteğe bağlıdır, sıfır veya bir kez oluşabilir". , + "bir veya daha fazla" kullanım yerine sabit karakter olarak ayırt etmek için önünde ters eğik çizgiye sahiptir.
Gruplandırma ve değiştirme (-|\+)?\d+ Bu normal ifade, isteğe bağlı olarak bir + işareti veya bir -ile ve ardından , -123ve +123gibi 123bir sayı dizisiyle eşleşir. Burada sık sık birlikte kullanılan iki kavramı kullanıma sunuyoruz. İlk olarak, üzerinde işlem yapmak için birlikte öğe kümesi olarak gruplayan ? parantezimiz vardır. İkincisi, "ya bu ya da şu" yazan bir tane var | .
Özel karakter sınıfı (-|\+)?\d+[eE][\-\+]?\d+ Bu normal ifade, eşleşen +123e-12iki karakter sınıfıyla karışımına bir üs ekler. Karakter sınıfı, daha kompakt bir biçimde "bunlardan biriyle eşleş" sağlayan değişime benzer | . gibi +normal - ifade karakter sınıflarında da özel bir anlamı vardır, bu nedenle kaçış yapmamız gerekir.
Sıfır veya Daha Fazla (-|\+)?\d+\.?\d*[eE][\-\+]?\d+ Bu normal ifade, sayının tamsayı bölümünden sonra ondalık değerini ekler; örneğin -123.456e-89 , veya -123.E+32. \d Ondalık ayırıcıdan sonra ondalık basamaklar için "sıfır veya daha fazla kez" yazan bir * niceleyicisi vardır..
Grupları yakalama (?&lt;number&gt;(-|\+)?\d+\.?\d*)[eE](?&lt;exponent&gt;[\-\+]?\d+) Son olarak ve numberiçin exponent yakalama grupları ekleyeceğiz. Normal bir ifade yalnızca dizenin tamamıyla eşleşemez, aynı zamanda formüllerinizde kullanılmak üzere bölümleri ayıklayabilir, bu durumda (veya e) ve sonraki kısımdan önceki E bölümü de ayıklayabilir.

Bu örnekler yalnızca normal ifadelerin neler yapabileceğinin küçük bir tadını verir. Bunlar genellikle kimlik numaralarını, e-posta adreslerini, telefon numaralarını, tarihleri ve saatleri doğrulamak ve her türlü metin dosyasından bilgi ayıklamak için kullanılır. Power Fx'te Normal ifadeleri okuyarak yolculuğunuza devam edin, daha fazla bilgi edinmek için web'i deneyin ve kullanın.

Match Seçenekler

Dize birleştirme işlecini (&) kullanarak birleştirdiğiniz bir veya daha fazla seçenek belirterek bu işlevlerin davranışını değiştirin.

MatchOptions sabit listesi Açıklama Normal ifadeye etkisi
MatchOptions.BeginsWith Desen, metnin başıyla eşleşmelidir. Normal ifadenin başına ^ ekler.
MatchOptions.Complete Power Apps'te için IsMatch varsayılan değer. Desen, baştan sona tüm metin dizesiyle eşleşir. Normal ifadenin başına ^, sonuna ise $ ekler.
MatchOptions.contains Ve ve MatchAlliçin Match varsayılan değer ve IsMatch Power Apps dışındadır. Desen metnin herhangi bir yerinde görünmelidir ancak başında veya sonunda olması gerekmez. Normal ifadeyi değiştirmez.
MatchOptions.DotAll (nokta) işlecinin . davranışını, yeni satır karakterleri de dahil olmak üzere tüm karakterlerle eşleşecek şekilde değiştirir. Power Apps'te kullanılamaz. Normal ifadeyi değiştirmez. Bu seçenek, normal ifadeler için standart "s" değiştiricisinin eşdeğeridir.
MatchOptions.EndsWith Desen, metin dizesinin sonuyla eşleşmelidir. Normal ifadenin sonuna $ ekler.
MatchOptions.FreeSpacing Yeni satırlar da dahil olmak üzere boşluk karakterleri normal ifadede yoksayılır. ile # başlayan satır sonu açıklamaları yoksayılır. Power Apps'te kullanılamaz. Yalnızca normal ifade söz dizimini değiştirir. Bu seçenek, normal ifadeler için standart "x" değiştiricisinin eşdeğeridir.
MatchOptions.IgnoreCase Büyük ve küçük harflere aynı olarak davranır. Varsayılan olarak eşleşme büyük/küçük harfe duyarlıdır. Normal ifadeyi değiştirmez. Bu seçenek, normal ifadelerin standart "i" değiştiricisine eşdeğerdir.
MatchOptions.Multiline ve ^ öğesinin $ davranışını, satır sonunda eşleşecek şekilde değiştirir. Normal ifadeyi değiştirmez. Bu seçenek, normal ifadelerin standart "m" değiştiricisine eşdeğerdir.
MatchOptions.NumberedSubMatches Adlandırılmış yakalamalar, anlaşılması ve bakımı daha kolay olduğundan tercih edilir. Gereksiz yakalamalar korunmadıkça performans da artar. Ancak eski normal ifadeler için, her parantez kümesini, sonuçta SubMatches tablosuna dahil edilen numaralandırılmış yakalama olarak değerlendirir. Power Apps'te varsayılan. Normal ifadeyi değiştirmez. Adlandırılmış yakalamalar devre dışı bırakılır ve \1 stil geri başvuruları etkinleştirilir.

kullanmak MatchAll , normal ifadeler için standart "g" değiştiricisini kullanmakla aynıdır.

Sözdizimi

IsMatch( Metin, Desen [, Seçenekler ] )

  • Metin – Gerekli. Test edilecek metin dizesi.
  • Desen – Gerekli. Metin dizesi olarak test edilecek desen. Sabit listesi tarafından tanımlanan veya normal ifade sağlayan önceden tanımlanmış desenleri Match birleştirin. Desen , uygulama çalışırken değişen değişkenler, veri kaynakları veya diğer dinamik başvurular içermeyen sabit bir formül olmalıdır. Formülün "Matcholarak ifade edilmesi gerektiğini unutmayın. PredefinedPattern" örneğin. Match E-posta
  • Seçenekler – İsteğe bağlı. MatchOptions sabit listesi değerlerinin bir metin dizesi birleşimi. Varsayılan olarak MatchOptions.Complete kullanılır. Seçenekler , uygulama çalışırken değişen değişkenler, veri kaynakları veya diğer dinamik başvurular içermeyen sabit bir formül olmalıdır.

Match( Metin, Desen [, Seçenekler ] )

  • Metin – Gerekli. Eşleştirilecek metin dizesi.
  • Desen – Gerekli. Metin dizesi olarak eşleştirilecek desen. Sabit listesi tarafından tanımlanan önceden tanımlanmış desenleri birleştirin Match veya normal bir ifade sağlayın. Desen , uygulama çalışırken değişen değişkenler, veri kaynakları veya diğer dinamik başvurular içermeyen sabit bir formül olmalıdır.
  • Seçenekler – İsteğe bağlı. MatchOptions sabit listesi değerlerinin bir metin dizesi birleşimi. Varsayılan olarak MatchOptions.Contains kullanılır. Seçenekler , uygulama çalışırken değişen değişken, veri kaynağı veya diğer dinamik başvurular içermeyen sabit bir formül olmalıdır.

MatchAll( Metin, Desen [, Seçenekler ] )

  • Metin – Gerekli. Eşleştirilecek metin dizesi.
  • Desen – Gerekli. Metin dizesi olarak eşleştirilecek desen. Sabit listesi tarafından tanımlanan veya normal ifade sağlayan önceden tanımlanmış desenleri Match birleştirin. Desen , uygulama çalışırken değişen değişkenler, veri kaynakları veya diğer dinamik başvurular içermeyen sabit bir formül olmalıdır.
  • Seçenekler – İsteğe bağlı. MatchOptions sabit listesi değerlerinin bir metin dizesi birleşimi. Varsayılan olarak MatchOptions.Contains kullanılır. Seçenekler , uygulama çalışırken değişen değişkenler, veri kaynakları veya diğer dinamik başvurular içermeyen sabit bir formül olmalıdır.

IsMatch Örnekler

Normal karakterler

Uygulamanızın TextInput1 adlı bir Metin girişi denetimi olduğunu düşünün. Kullanıcılar değerleri bir veritabanında depolamak için bu denetime girer.

Kullanıcılar TextInput1'eHello world yazar.

Formül Açıklama Sonuç
IsMatch( TextInput1.Text, "Hello world" ) Kullanıcının girişinin tam olarak "Hello world" dizesiyle eşleşip eşleşmediğini test eder. doğru
IsMatch( TextInput1.Text, "Good bye" ) Kullanıcının girişinin tam olarak "Good bye" dizesiyle eşleşip eşleşmediğini test eder. YANLIŞ
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. YANLIŞ
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. doğru

Önceden tanımlanmış desenler

Formül Açıklama Sonuç
IsMatch( "123-45-7890", Match.Digit & Match.Digit & Match.Digit & Match.Digit & Match.Digit & Match.Digit & Match.Digit & Match.Digit & Match.Digit & Match.Digit & Match.Digit ) ABD Sosyal Güvenlik Numarası ile eşleşir doğru
IsMatch( "joan@contoso.com", Match.Email ) Bir e-posta adresiyle eşleşir doğru
IsMatch( "123.456", Match.MultipleDigits & Match.Period & Match.OptionalDigits ) Bir dizi rakam, nokta ve ardından sıfır veya daha fazla rakam ile eşleşir. doğru
IsMatch( "123", Match.MultipleDigits & Match.Period & Match.OptionalDigits ) Bir dizi rakam, nokta ve ardından sıfır veya daha fazla rakam ile eşleşir. Eşleştirilecek metinde nokta görünmediğinden bu desen eşleşmez. YANLIŞ

Normal ifadeler

Formül Açıklama Sonuç
IsMatch( "986", "\d+" ) Sıfırdan büyük bir tamsayıyla eşleşir. doğru
IsMatch( "1.02", "\d+(\.\d\d)?" ) Pozitif bir para birimi tutarıyla eşleşir. Giriş, ondalık ayırıcı içeriyorsa ondalık ayırıcıdan sonra iki sayısal karakter de içermelidir. Örneğin, 3,00 geçerlidir, ancak 3,1 değildir. doğru
IsMatch( "-4.95", "(-)?\d+(\.\d\d)?" ) Pozitif veya negatif bir para birimi tutarıyla eşleşir. Giriş, ondalık ayırıcı içeriyorsa ondalık ayırıcıdan sonra iki sayısal karakter de içermelidir. doğru
IsMatch( "111-11-1111", "\d{3}-\d{2}-\d{4}" ) ABD Sosyal Güvenlik numarası ile eşleşir. Sağlanan giriş alanının biçimini, türünü ve uzunluğunu doğrular. Eşleşme sağlanacak dize; sonrasında bir kısa çizgi bulunan üç sayısal karakter, ardından sonrasında bir kısa çizgi bulunan iki sayısal karakter ve bunun da ardından dört sayısal karakterden oluşmalıdır. doğru
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. YANLIŞ
IsMatch( "AStrongPasswordNot", "(?!^[0-9]\*$)(?!^[a-zA-Z]\*$)([a-zA-Z0-9]{8,10})" ) Sekiz, dokuz veya 10 karakter, en az bir basamak ve en az bir alfabetik karakter içermesi gereken güçlü bir parolayı doğrular. Dize özel karakterler içeremez. YANLIŞ

Match ve MatchAll örnekler

Formül Açıklama Sonuç
Match( "Bob Jones <bob.jones@contoso.com>", "<(?<email>" & Match.Email & ")>") İlgili kişi bilgilerinin yalnızca e-posta kısmını ayıklar. {
e-posta: "bob.jones@contoso.com",
FullMatch: "<bob.jones@contoso.com>",
Başlangıç Eşleşmesi: 11
}
Match( "Bob Jones <InvalidEmailAddress>", "<(?<email>" & Match.Email & ")>" İlgili kişi bilgilerinin yalnızca e-posta kısmını ayıklar. Geçerli bir adres bulunmadı (@ işareti yok), bu nedenle işlev blank değeri döndürür. boş
Match( Language(), "(<language>\w{2})(?:-(?<script>\w{4}))?(?:-(?<region>\w{2}))?" ) Language işlevinin döndürdüğü dil etiketinin dil, betik ve bölge bölümlerini ayıklar. Bu sonuçlar Amerika Birleşik Devletleri'ni yansıtır; daha fazla örnek için bkz. Language işlevi belgeleri. (?: işleci, karakterleri başka bir alt eşleşme oluşturmadan gruplandırır. {
language: "en",
script: blank,
region: "US",
FullMatch: "en-US",
StartMatch: 1
}
Match( "PT2H1M39S", "PT(?:(?<hours>\d+)H)?(?:(?<minutes>\d+)M)?(?:(?<seconds>\d+)S)?" ) ISO 8601 süresi değerinden saatleri, dakikaları ve saniyeleri ayıklar. Ayıklanan sayılar hala bir metin dizesindedir; üzerinde matematik işlemleri gerçekleştirilmeden önce değeri bir sayıya dönüştürmek için Value işlevini kullanın. {
hours: "2",
dakika: "1",
seconds: "39",
FullMatch: "PT2H1M39S",
StartMatch: 1
}

Son örneğin ayrıntılarına bakalım. Time işlevini kullanarak bu dizeyi tarih/saat değerine dönüştürmek istiyorsanız, adlandırılmış alt değerleri tek tek geçirmeniz gerekir. Bunu yapmak için, döndüren Match kayıtta çalışan With işlevini kullanın:

With(
    Match( "PT2H1M39S", "PT(?:(?<hours>\d+)H)?(?:(?<minutes>\d+)M)?(?:(?<seconds>\d+)S)?" ),
   Time( Value( hours ), Value( minutes ), Value( seconds ) )
)

Bu örnekler için, bir Button denetimi ekleyin, OnSelect özelliğini bu formüle ayarlayın ve sonra düğmeyi seçin:

Set( pangram, "The quick brown fox jumps over the lazy dog." )
Formül Açıklama Sonuç
Match( pangram, "THE", IgnoreCase ) pangram değişkeninin içerdiği metin dizesinde "THE" için tüm eşleşmeleri bulur. Dize iki eşleşme içerir, ancak yalnızca ilki döndürülür çünkü kullanıyorsunuz Match ve değil MatchAll. {
FullMatch: "The",
StartMatch: 32
}
MatchAll( pangram, "the" ) pangram değişkeninin içerdiği metin dizesinde "the" için tüm eşleşmeleri bulur. Sınama büyük/küçük harf duyarlıdır, bu nedenle yalnızca "the" öğesinin ikinci kopyası bulunur. MatchAll pangram için.
MatchAll( pangram, "the", IgnoreCase ) pangram değişkeninin içerdiği metin dizesinde "the" için tüm eşleşmeleri bulur. Bu durumda, sınama büyük/küçük harfe duyarlı değildir, bu nedenle sözcüğün her iki kopyası da bulunur. MatchAll ignoreCase ile.
MatchAll( pangram, "\b\wo\w\b" ) Ortasında "o" olan üç harfli tüm sözcükleri bulur. "brown", üç harfli bir sözcük olmadığından dışlanır ve bu nedenle "\b" (sözcük sınırı) ile eşleşmez. MatchAll b, wo, w ve b ile pangram için.
Match( pangram, "\b\wo\w\b\s\*(?<between>\w.+\w)\s\*\b\wo\w\b" ) "fox" ve "dog" arasındaki tüm karakterlerle eşleşir. {
arada: "jumps over the lazy",
FullMatch: "tilki tembel köpeğin üzerinden atlar",
StartMatch: 17
}

Bir galeride sonuçlarını MatchAll görmek için:

  1. Boş bir ekrana boş bir dikey galeri denetimi ekleyin.

  2. Galerinin Items özelliğini MatchAll( pangram, "\w+" ) veya MatchAll( pangram, MultipleLetters ) olarak ayarlayın.

    Öğeler galerisi.

  3. Galeri şablonunu seçmek için gallery denetiminin ortasında "Ekle sekmesinden bir öğe ekleyin" seçeneğini belirleyin.

  4. Galeri şablonuna bir Label denetimi ekleyin.

  5. Etiketin Text özelliğini ThisItem.FullMatch olarak ayarlayın.

    Galeri, örnek metnimizde bulunan her sözcükle doldurulur. Tüm sözcükleri tek ekranda görmek için galerinin şablonunu ve etiket denetimini yeniden boyutlandırın.

    Text özelliği.