CountRegEx(), giriş dizesi metninde belirtilen alt normal ifade deseni oluşlarının sayısını döndürür. Eşleşme yoksa, 0 sonucu döndürülür.
Bu fonksiyon, büyük/küçük harfe duyarlı regex işlemleri gerçekleştirir. Büyük/küçük harfe duyarlı olmayan regex işlemleri gerçekleştirmek için alternatif olarak CountRegExI() varyantını kullanabilirsiniz.
Söz Dizimi:
CountRegEx
(text, regex)
Dönüş verileri türü: sayısal
Bağımsız Değişkenler
Bağımsız Değişken
Açıklama
text
İçinde normal ifade aramak istediğiniz giriş dizesi metni.
CountRegEx() için kullanım örneklerine şunlar dahildir:
Belirli bir metin kalıbının bir dize içinde kaç kez geçtiğini sayma. Örneğin, belgeler ve e-posta mesajları içinde e-posta adresleri, telefon numaraları ve diğer bilgilerin örneklerini arayabilirsiniz.
Verilerin belirli bir söz dizimi gereksinimiyle eşleşip eşleşmediğini doğrulama. Örneğin, veri girişinde hata oluşumlarını tespit edebilirsiniz.
Örnek 1 - geçerli yıl aralıklarını saymak için komut dosyası
Genel bakış
Veri yükleme düzenleyicisini açın ve aşağıdaki yükleme kodunu yeni bir sekmeye ekleyin.
Yükleme kodu şunları içerir:
Her bir aracın durumu ve model yılı ile birlikte araçların bir listesini içeren Vehicles adlı bir tablo.
Vehicles içindeki her kayıt için, aracın yıl aralığının beklenen sözdizimini karşılayıp karşılamadığını belirlemek üzere bir hesaplama. Geçerli yıl aralıkları 1990'lar, 2000'ler, 2010'lar ve 2020'leri içerir. Bu hesaplama, CountRegEx() fonksiyonu kullanılarak gerçekleştirilir.
Örnek 3 - dizenin oluşlarını saymak için grafik ifadesi
Genel bakış
Veri yükleme düzenleyicisi bölümünü açın ve aşağıdaki yükleme kodunu yeni bir bölüme ekleyin.
Komut dosyası, bir kuruluşun çalışanlarına gönderilen bir dizi kurumsal yazışmanın metnini içerir. Veriler, şirket adı ve her bir yazışmanın gönderildiği e-posta adresi dışındaki tüm kişisel tanımlanabilir bilgilerden (PII) zaten temizlenmiştir. Her bir mesajın gövdesi tek bir kesintisiz dizeye dönüştürülmüştür. Başka bir deyişle, tüm biçimlendirme ve satır sonu karakterleri kaldırılmıştır.
Gereksinimlerimiz:
Hangi iletilerin TestCompanyNameCorrespondence@test.com e-posta adresini içeren bir dize ve bu adrese gönderenin o olduğunu belirten özel bir giriş içerdiğini belirleyin.
Hangi tanıtımların tanımlanacağı konusunda esneklik istiyoruz, ancak yine de bazı kesin kısıtlamalara sahip olmak istiyoruz. Sender ve Sent by tanıtımlarının her ikisi de geçerli kabul edilir. Bu amaca ulaşmak için regex kalıpları kullanılabilir.
E-posta adreslerinin büyük/küçük harf duyarlılığı bir faktör değildir. Bu nedenle, arama büyük/küçük harfe duyarsız olmalıdır.
Komut dosyası
Correspondences:
Load * Inline [
ID|MessageBody
1|Sent by-- TestCompanyNameCorrespondence@test.com Good morning TestCompanyName team! I hope you are all well. I am just reaching out about the fabulous benefits package we launched just year. Our goal is to take a poll of what you all think. Can you please rate the new options from 1-10 in a response to this email, by this Tuesday? Thank you!
2|Sender: TestCompanyNameIT@test.com Did you know you can access our IT portal anytime, from any of your company devices? It's true! Reach out to your team lead to learn more.
3|Sender: TESTCOMPANYNAMECORRESPONDENCE@test.COM URGENT: This is a message to inform employees of an ongoing issue with our local branch. The branch will be closed until further notice. Thank you
4|Sender: TestCompanyNameVolunteering@test.com Dear team! We are looking for volunteers to help with this year's charity event! We need 40 volunteers to help with the event. If you are interested, please send an email to your direct supervisor. Thanks, TestCompanyName team members, for helping make the world a better place!
5|Sender is TestCompanyNameCorrespondence@test.com Hi folks, it's time to announce the annual TestCompanyName staff party! The party will be taking place at the office this year. Please make sure to RSVP, and we hope to see you there! Sincerely, the TestCompanyName management team
] (delimiter is |);
Sonuçlar
Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanları boyut olarak ekleyin:
Hesaplama özelliklerinde, Toplamlar fonksiyonunuSum olarak ayarlayın. Bu, tablonun üst kısmındaki toplamlar satırını, sayıma katkıda bulunan toplam kayıt sayısını sayacak şekilde yapılandırır.
Hesaplama, ileti içeriğinde belirtilen regex deseni için eşleşme sayısını sayar. Regex deseninde .*, satır sonu karakterleri hariç herhangi bir karakter sayısını gösterir. Kalıp ayrıca e-posta adresinin nasıl tanıtıldığına ilişkin farklılıkları da açıklar: hem Sender hem de Sent by geçerli eşleşmelerdir. Fonksiyonun CountRegExI() varyantı büyük/küçük harfe duyarsız arama yapılmasını sağlar.
Sent by-- TestCompanyNameCorrespondence@test.com Good morning TestCompanyName team! I hope you are all well. I am just reaching out about the fabulous benefits package we launched just year. Our goal is to take a poll of what you all think. Can you please rate the new options from 1-10 in a response to this email, by this Tuesday? Thank you!
1
2
Sender: TestCompanyNameIT@test.com Did you know you can access our IT portal anytime, from any of your company devices? It's true! Reach out to your team lead to learn more.
0
3
Sender: TESTCOMPANYNAMECORRESPONDENCE@TEST.COM URGENT: This is a message to inform employees of an ongoing issue with our local branch. The branch will be closed until further notice. Thank you
1
4
Sender: TestCompanyNameVolunteering@test.com Dear team! We are looking for volunteers to help with this year's charity event! We need 40 volunteers to help with the event. If you are interested, please send an email to your direct supervisor. Thanks, TestCompanyName team members, for helping make the world a better place!
0
5
Sender is TestCompanyNameCorrespondence@test.com Hi folks, it's time to announce the annual TestCompanyName staff party! The party will be taking place at the office this year. Please make sure to RSVP, and we hope to see you there! Sincerely, the TestCompanyName management team
1
Beş mesaj arasında, belirtilen regex deseniyle eşleşen üç mesaj vardır. Her mesaj bir eşleşme içerir.
Bilgi notuMatchRegEx() fonksiyonu bu tür doğrulama kullanım durumları için de kullanışlıdır.