MatchRegEx() vergelijkt de invoertekenreeks met een of meer gespecificeerde reguliere expressiepatronen en retourneert de numerieke locatie van de overeenkomende reguliere expressiepatronen. Als er geen overeenkomsten worden gevonden, retourneert de functie 0. Deze functie zoekt alleen naar exacte overeenkomsten.
Deze functie voert regexbewerkingen uit die hoofdlettergevoelig zijn. U kunt eventueel ook de variant MatchRegExI() gebruiken om hoofdletteronafhankelijke regexbewerkingen uit te voeren.
Syntaxis:
MatchRegEx
(text, regex1 [ , regex2,...regexN])
Retourgegevenstypen: geheel getal
Argumenten
Argument
Beschrijving
text
De tekst van de invoertekenreeks die u wilt afstemmen met één of meer reguliere expressies.
regex
De reguliere expressie om te proberen af te stemmen met de invoertekenreeks. U kunt meer dan één reguliere expressie in één expressie opgeven, gescheiden als opeenvolgende argumenten.
Retourneert 3.Het derde regexpatroon is het eerste dat overeenkomt met de gegevens.
MatchRegEx('ABC','[abc]+','[123]')
Retourneert 0, omdat MatchRegEx() hoofdlettergevoelig is.
MatchRegExI('ABC','[abc]+','[123]')
Retourneert 1. De hoofdletterongevoelige variant van de functie, MatchRegExI(), wordt gebruikt.
Wanneer gebruiken
Gebruiksscenario's voor deze functie zijn onder andere:
Tekst valideren om te voldoen aan opmaak- en nalevingsnormen en om fouten in gegevens op te sporen.
Verschillen in de opmaak van tekst identificeren. U kunt bijvoorbeeld vaststellen hoeveel telefoonnummers indeling A gebruiken, indeling B, enzovoort.
Voorbeeld 1 - load-script om indelingen van telefoonnummers te analyseren
Overzicht
Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuw tabblad.
Het load-script bevat:
Een tabel BusinessContactInfo met telefoonnummers van contactpersonen voor verschillende bedrijven. De telefoonnummers zijn 10-cijferige NANP-telefoonnummers.
Een berekend veld, PhoneNumberFormat, om te beoordelen of elk telefoonnummer overeenkomt met één van een specifieke set telefoonnummerindelingen.
Er zijn drie verschillende indelingen waarop we willen controleren: (###) ###-####, ###-###-#### en ##########.
Load-script
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');
Resultaten
Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:
CompanyName
ContactInfo
PhoneNumberFormat
Resultatentabel
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
Van hieruit kunt u bijvoorbeeld KPI's maken om het totale aantal van elke telefoonnummerindeling te berekenen, evenals het aantal telefoonnummers dat geen erkende indeling heeft:
Voorbeelden van aggregatie-uitdrukkingen om exemplaren van elke indeling te tellen
Voorbeeld 2 - diagramuitdrukking om ISBN-indeling te identificeren
Overzicht
Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuw tabblad.
Het load-script bevat:
Een tabel Books met ISBN-codes voor verschillende boeken.
Op basis van deze gegevens willen we bepalen of elke ISBN-code een geldige 10-cijferige of 13-cijferige code is, op basis van de syntaxis die in een regexpatroon is gespecificeerd.
Load-script
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
];
Resultaten
Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg dit veld toe als dimensie:
Book
Voeg deze berekende dimensie toe en geef deze het label ISBN Format:
Als u problemen ervaart op deze pagina of de inhoud onjuist is – een typfout, een ontbrekende stap of een technische fout – laat het ons weten zodat we dit kunnen verbeteren!