MatchRegEx(), giriş dizesini belirtilen bir veya daha fazla düzenli ifade deseniyle karşılaştırır ve eşleşen düzenli ifade desenlerinin sayısal konumunu döndürür. Hiçbir eşleşme bulunamazsa fonksiyon 0 döndürür. Bu fonksiyon yalnızca tam eşleşmeleri arar.
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 MatchRegExI() varyantını kullanabilirsiniz.
Söz Dizimi:
MatchRegEx
(text, regex1 [ , regex2,...regexN])
Dönüş verileri türü: tamsayı
Bağımsız Değişkenler
Bağımsız Değişken
Açıklama
text
Bir veya daha fazla normal ifade eşleştirmek istediğiniz giriş dizesi metni.
regex
Girdi dizesiyle eşleştirilmeye çalışılacak normal ifade. Tek bir ifade içinde, sonraki bağımsız değişkenler olarak ayrılarak birden fazla normal ifade belirtebilirsiniz.
3 döndürür. Üçüncü regex deseni, verilerle eşleşen ilk desendir.
MatchRegEx('ABC','[abc]+','[123]')
0 döndürür, çünkü MatchRegEx() büyük/küçük harfe duyarlıdır.
MatchRegExI('ABC','[abc]+','[123]')
1 döndürür. MatchRegExI() fonksiyonunun büyük/küçük harfe duyarsız varyantı kullanılır.
Ne zaman kullanılır?
Bu fonksiyon için kullanım durumları şunları içerir:
Biçimlendirme ve uyumluluk standartlarını karşılamak ve verilerdeki hataları belirlemek için metni doğrulama.
Metnin biçimlendirilme şeklindeki farklılıkları belirleme. Örneğin, kaç telefon numarasının A biçimini, B biçimini vb. kullandığını belirleyebilirsiniz.
Örnek 1 - telefon numarası biçimlerini analiz etmek 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:
Çeşitli işletmelerin irtibat telefon numaralarını içeren bir tablo BusinessContactInfo. Telefon numaraları 10 haneli NANP telefon numaralarıdır.
Her telefon numarasının belirli bir dizi telefon numarası biçiminden biriyle eşleşip eşleşmediğini değerlendirmek için hesaplanan bir alan, PhoneNumberFormat.
Kontrol etmek istediğimiz üç farklı biçim vardır: (###) ###-####, ###-###-#### ve ##########.
Komut dosyası
BusinessContactInfo:
Load MatchRegEx(ContactInfo,'\({0,1}[0-9]{3}\) [0-9]{3}-[0-9]{4}', '[0-9]{3}-[0-9]{3}-[0-9]{4}', '[0-9]{10}') as PhoneNumberFormat,
* Inline `
ID CompanyName ContactInfo
1 Company A (123) 456-7890
2 Company B 0123456790
3 Company C 234-567-8901
4 Company D (024) 680-2456
5 Company E (135) 791-3579
6 Company F 8901234567
7 Company G 235-235-2352
8 Company H (555) (555) (5555)
9 Company I 2342342343
10 Company J 444-444-4444
` (delimiter is '\t');
Sonuçlar
Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanları boyut olarak ekleyin:
CompanyName
ContactInfo
PhoneNumberFormat
Sonuçlar tablosu
CompanyName
ContactInfo
PhoneNumberFormat
Company A
(123) 456-7890
1
Company B
0123456790
3
Company C
234-567-8901
2
Company D
(024) 680-2456
1
Company E
(135) 791-3579
1
Company F
8901234567
3
Company G
235-235-2352
2
Company H
(555) (555) (5555)
0
Company I
2342342343
3
Company J
444-444-4444
2
Buradan, örneğin, her bir telefon numarası biçiminin toplam sayısını ve tanınan bir biçimine sahip olmayan telefon numaralarının sayısını hesaplamak için KPI'lar oluşturabilirsiniz:
Her biçimin oluşumlarını saymak için toplama ifadelerine örnekler
Örnek 2 - ISBN biçimini tanımlamak için grafik ifadesi
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:
Çeşitli kitaplar için ISBN kodlarını listeleyen bir tablo Books.
Bu verilerden, bir regex deseninde belirtilen söz dizimine dayalı olarak her ISBN kodunun geçerli bir 10 basamaklı veya 13 basamaklı kod olup olmadığını belirlemek istiyoruz.
Komut dosyası
Books:
Load * Inline [
Book
ISBN 123-3-1234-1234-0
ISBN 012-2-0123-0123-4
ISBN 000-1-0123-0123-2
ISBN 0-111-23456-7
ISBN 555-2-5555-5555-3
ISBN 222-4-2222-2222-2
ISBN 1-901-23456-8
ISBN 333-3-3333-3333-3
ISBN 555-1-5151-5151-3
ISBN 232-1-2323-2323-1
ISBN 2-444-44444-4
ISBN 888-0-9999-0000-0
];
Sonuçlar
Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanı boyut olarak ekleyin:
Book
Bu hesaplanan boyutu ekleyin ve ona ISBN Format etiketini verin: