MatchRegEx() porównuje ciąg wejściowy (text) z jednym lub większą liczbą wyrażeń regularnych (regex). Zwraca numeryczną lokalizację wzorców wyrażeń regularnych, które pasują. Zwraca odpowiedź dopasowania tylko jeśli ocena wyrażenia regularnego pasuje do całego tekstu wejściowego. Jeśli nie zostaną znalezione żadne dopasowania, funkcja zwraca 0.
Funkcja ta wykonuje operacje z wyrażeniami regularnymi, w których rozróżniana jest wielkość liter. Zamiast tego można użyć wariantu MatchRegExI(), aby wykonywać operacje z wyrażeniami regularnymi bez rozróżniania wielkości liter.
Składnia:
MatchRegEx
(text, regex1 [ , regex2,...regexN])
Typ zwracanych danych: liczba całkowita
Argumenty
Argument
Opis
text
Tekst ciągu wejściowego, do którego chcesz dopasować jedno lub więcej wyrażeń regularnych. Aby nastąpiło dopasowanie, ten ciąg wejściowy musi być dokładnym dopasowaniem do regex wzorca.
regex
Wyrażenie regularne, które ma zostać dopasowane do ciągu wejściowego. W pojedynczym wyrażeniu można podać więcej wyrażeń regularnych, oddzielonych jako kolejne argumenty.
Przykłady funkcji
Przykład
Wynik
MatchRegEx('testSample','test')
Zwraca wartość 0. Funkcja zwraca odpowiedź dopasowania tylko wtedy, gdy istnieje dokładne dopasowanie między text a regex wzorcem. Mimo że testSample zawiera test, zawiera inny tekst (Sample), co uniemożliwia dokładne dopasowanie.
Zwraca 3. Trzeci wzorzec regex jest pierwszym, który pasuje do danych.
MatchRegEx('ABC','[abc]+','[123]')
Zwraca 0, ponieważ MatchRegEx() rozróżnia wielkość liter.
MatchRegExI('ABC','[abc]+','[123]')
Zwraca 1. Jest używany wariant funkcji MatchRegExI(), który nie uwzględnia wielkości liter.
Kiedy używać MatchRegEx
Zastosowania tej funkcji są następujące:
Weryfikacja tekstu pod kątem zgodności z formatowaniem i standardami oraz identyfikacja błędów w danych.
Identyfikacja różnic w sposobie formatowania tekstu. Na przykład można określić, ile numerów telefonów używa formatu A, formatu B itd.
Przykład 1 — skrypt ładowania do analizy formatów numerów telefonów
Przegląd
Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.
Skrypt ładowania zawiera:
Tabela BusinessContactInfo zawierająca numery telefonów kontaktowych do różnych firm. Numery telefonów są 10-cyfrowymi numerami NANP.
Pole wyliczane, PhoneNumberFormat, służące do oceny, czy każdy numer telefonu pasuje do jednego z określonego zestawu formatów numerów telefonów.
Istnieją trzy różne formaty, które chcemy sprawdzić: (###) ###-####, ###-###-#### i ##########.
Skrypt ładowania
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');
Wyniki
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:
CompanyName
ContactInfo
PhoneNumberFormat
Tabela wynikowa
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
Można teraz, na przykład, utworzyć wskaźniki KPI, aby obliczyć całkowitą liczbę każdego formatu numeru telefonu, a także liczbę numerów telefonów, które nie mają rozpoznanego formatu:
Przykłady wyrażeń agregujących do zliczania wystąpień każdego formatu
Przykład 2 — wyrażenie wykresu identyfikujące format ISBN
Przegląd
Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.
Skrypt ładowania zawiera:
Tabela Books zawierająca kody ISBN różnych książek.
Na podstawie tych danych chcemy zidentyfikować, czy każdy kod ISBN jest prawidłowym kodem 10-cyfrowym lub 13-cyfrowym, w oparciu o składnię określoną we wzorcu regex.
Skrypt ładowania
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
];
Wyniki
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj to pole jako wymiar:
Book
Dodaj ten wymiar wyliczany i nadaj mu etykietę ISBN Format: