Ga naar hoofdinhoud Ga naar aanvullende inhoud

IndexRegExGroup - script- en diagramfunctie

IndexRegExGroup() doorzoekt de invoertekenreeks en geeft de startpositie van de n-de herhaling van het samengestelde reguliere expressiepatroon dat is opgegeven. Een optioneel vierde argument count levert de waarde van n, die 1 is als het argument wordt weggelaten. De nummering van de posities in de tekenreeks loopt van links naar rechts en begint bij 1. Als er geen overeenkomst wordt gevonden, retourneert de functie 0.

Deze functie voert regexbewerkingen uit die hoofdlettergevoelig zijn. U kunt eventueel ook de variant IndexRegExGroupI() gebruiken om hoofdletteronafhankelijke regexbewerkingen uit te voeren.

Syntaxis:  

IndexRegExGroup (text, regex, group [, count])

Retourgegevenstypen: geheel getal

Argumenten
Argument Beschrijving
text De tekst van de invoertekenreeks waarin u wilt zoeken naar een reguliere expressie.
regex De reguliere expressie die moet worden gebruikt om de invoertekenreeks te doorzoeken.
group

Het nummer van de groep, in het geval van een samengestelde reguliere expressie.

Een group waarde van 0 retourneert de index van de volledige regex. Als de reguliere expressie echter alleen de index van de gehele overeenkomst moet retourneren, gebruikt u in plaats daarvan de functie IndexRegEx().

U kunt een negatieve group waarde opgeven om van rechts naar links naar overeenkomsten te zoeken.

count

Het nummer van de overeenkomst. Dit is handig als er meerdere overeenkomsten voor de reguliere expressie in de tekst kunnen worden gevonden. Geef bijvoorbeeld de waarde 4 op te zoeken naarde positie van de vierde overeenkomst.

Dit is een optioneel argument. De standaardinstelling is 1 als deze niet is opgegeven. U kunt een negatieve waarde opgeven om van rechts naar links naar overeenkomsten te zoeken.

Voorbeelden van functies
Voorbeeld Resultaat
IndexRegExGroup('abc123','([a-z])([0-9]+)',0) Retourneert 3 (startpositie van volledige regex).
IndexRegExGroup('abc123','([a-z])([0-9]+)',1) Retourneert 3 (startpositie van de eerste groep).
IndexRegExGroup('abc123','([a-z])([0-9]+)',2) Retourneert 4, dit is de startpositie van de tweede groep. In het regexpatroon van de invoer komt de tekenreeks ([0-9]+) overeen met de tweede groep.
IndexRegExGroup('ABC123','([a-z])([0-9]+)',1) Retourneert 0, omdat IndexRegExGroup() hoofdlettergevoelig is.
IndexRegExGroupI('ABC123','([a-z])([0-9]+)',1) Retourneert 3. De hoofdletterongevoelige variant van de functie, IndexRegExI(), wordt gebruikt.

Wanneer gebruiken

Gebruiksscenario's voor deze functie zijn onder andere:

  • Identificeren waar specifieke tekstpatronen voorkomen binnen grotere stukken tekst. U wilt bijvoorbeeld weten waar het domein van een e-mailadres wordt gebruikt in een reeks lange e-mailberichten.

  • IndexRegExGroup() is vooral nuttig voor geavanceerde gegevensverwerking en wordt vaak gebruikt in de eerste stap van een langere, complexere transformatie. Het is meestal eenvoudiger om problemen op te lossen met andere regexfuncties zoals ExtractRegExGroup(), MatchRegEx(), en CountRegEx(), maar er kunnen momenten zijn waarop IndexRegExGroup() oplossingen biedt die deze functies niet kunnen bieden.

Voorbeeld 1 - load-script om posities van ISBN-componenten te vinden

Voorbeeld 2 - diagramuitdrukkingen om URL-posities te vinden (met vergelijking IndexRegEx() )

Was deze pagina nuttig?

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!