IsRegEx() retourneert of de opgegeven tekst een geldige reguliere expressie is.
Deze functie voert regexbewerkingen uit die hoofdlettergevoelig zijn. U kunt eventueel ook de variant IsRegExI() gebruiken om hoofdletteronafhankelijke regexbewerkingen uit te voeren.
Syntaxis:
IsRegEx
(expr [, debug])
Retourgegevenstypen: dubbele waarde
Argumenten
Argument
Beschrijving
expr
Reguliere expressie die de te evalueren reguliere expressie bevat.
debug
Optioneel argument. Als voor dit argument een waarde wordt opgegeven, retourneert de expressie een teksthint die aangeeft hoe een ongeldige reguliere expressie kan worden opgelost.
Voorbeelden van functies
Voorbeeld
Resultaat
IsRegEx('[a-z]')
Retourneert -1 (true).
IsRegEx(']0-1[', 1)
Dit voorbeeld geeft een foutbericht met een hint om de ongeldige reguliere expressie ]0-1[ te corrigeren.
IsRegEx('[a-z')
Retourneert 0 (false). Er wordt geen foutbericht weergegeven omdat het argument debug niet is opgegeven.
Wanneer gebruiken
U kunt IsRegEx() gebruiken om te testen of de reguliere expressies die u schrijft geldig zijn in Qlik Sense. U kunt bijvoorbeeld een invoertabel in uw app laden met invoertekst en een evaluatie van de geldigheid van de tekst als regex.
Voorbeeld 1 - geldigheid van regex in gegevensmodel laden
Overzicht
Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuw tabblad.
Het load-script bevat:
Een veld, reg_exp, dat invoertekenreeksen bevat die al dan niet geldige reguliere expressies kunnen zijn.
Twee berekende velden om te controleren of elke waarde in reg_exp een geldige reguliere expressie is of niet:
validity_no_hint: Geeft -1 (true) weer als de regex geldig is, en 0 (false) als deze ongeldig is.
validity_with_hint: Geeft -1 (true) weer als de regex geldig is. Als de regex ongeldig is, geeft een automatisch gegenereerd foutbericht problemen met de invoer aan, met mogelijke hints om het probleem op te lossen.
Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:
reg_exp
validity_no_hint
validity_with_hint
Resultatentabel
reg_exp
validity_no_hint
validity_with_hint
([a-z)(0-9)+
0
-1
[a-z]+
-1
Hinttekst (automatisch gegenereerd)
\$|¢(0-9)
-1
Hinttekst (automatisch gegenereerd)
abcdefg|[0-7
0
-1
Voorbeeld 2 - alleen geldige regex in gegevensmodel laden
Overzicht
Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuw tabblad.
Het load-script bevat:
Een veld, reg_exp, dat invoertekenreeksen bevat die al dan niet geldige reguliere expressies kunnen zijn. Dit veld staat in een tabel met de naam Regular Expressions.
Een where-clausule die alleen records in het gegevensmodel laadt als de invoer een geldige reguliere expressie is.
Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg dit veld toe als dimensie:
reg_exp
Resultatentabel
reg_exp
[a-z]+
\$|¢(0-9)
[a-z]+ en \$|¢(0-9) zijn geldige reguliere expressies, dus zijn ze geladen in het gegevensmodel. ([a-z)(0-9)+ en abcdefg|[0-7 zijn geen geldige reguliere expressies, dus zijn ze niet geladen in het gegevensmodel.
Voorbeeld 3: diagramuitdrukkingen
Overzicht
In dit voorbeeld laden we een gegevenstabel met invoertekenreeksen en voegen deze toe aan een tabel, samen met twee berekende dimensies die de geldigheid van de regex evalueren. De twee berekende dimensies geven dezelfde informatie op verschillende manieren weer.
Open de Editor voor laden van gegevens en voeg het volgende load-script toe aan een nieuwe sectie.
Het load-script bevat een veld, reg_exp, dat invoertekenreeksen bevat die al dan niet geldige reguliere expressies kunnen zijn. Dit veld staat in een tabel met de naam Regular Expressions.
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!