Gå till huvudinnehåll Gå till ytterligare innehåll

IndexRegExGroup - skript- och diagramfunktion

IndexRegExGroup() söker igenom indatasträngen och returnerar startpositionen för den n:te förekomsten av det sammansatta reguljära uttrycksmönster som anges. Ett valbart fjärde argument count ger värdet för n, vilket annars är 1. Strängens positioner är numrerade vänster till höger från 1 och uppåt. Om ingen matchning hittas returnerar funktionen 0.

Den här funktionen utför regexoperationer som är skiftlägeskänsliga. Alternativt kan du använda varianten IndexRegExGroupI() för att utföra skiftlägesokänsliga regexoperationer.

Syntax:  

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

Returnerad datatyp: heltal

Argument
Argument Beskrivning
text Indatasträngens text inom vilken du vill söka efter ett reguljärt uttryck.
regex Det reguljära uttryck som ska användas för att söka i indatasträngen.
group

Gruppens nummer, om det rör sig om ett sammansatt reguljärt uttryck.

Ett group-värde på 0 returnerar indexet för hela regex. Men om det reguljära uttrycket bara behöver returnera indexet för hela matchningen, använder du funktionen IndexRegEx() i stället.

Du kan ange ett negativt värde för group för att söka efter matchningar från höger till vänster.

count

Numret på matchningen. Detta är användbart när flera träffar för det reguljära uttrycket kan finnas i texten. Ange t.ex. värdet 4 för att få fram positionen för den fjärde matchningen.

Det här är ett valfritt argument. Standard är 1 om det inte anges. Du kan ange ett negativt värde för att söka efter matchningar från höger till vänster.

Exempel på funktioner
Exempel Resultat
IndexRegExGroup('abc123','([a-z])([0-9]+)',0) Returnerar 3 (startposition för komplett regex).
IndexRegExGroup('abc123','([a-z])([0-9]+)',1) Returnerar 3 (startpositionen för den första gruppen).
IndexRegExGroup('abc123','([a-z])([0-9]+)',2) Returnerar 4, som är startpositionen för den andra gruppen. I det inmatade regexmönstret motsvarar strängen ([0-9]+) den andra gruppen.
IndexRegExGroup('ABC123','([a-z])([0-9]+)',1) Returnerar 0, eftersom IndexRegExGroup() är skiftlägeskänsligt.
IndexRegExGroupI('ABC123','([a-z])([0-9]+)',1) Returnerar 3. Den skiftlägesokänsliga varianten av funktionen, IndexRegExI(), används.

Användning

Användningsfall för denna funktion inkluderar:

  • Identifiera var specifika textmönster förekommer inom större textmassor. Du kanske till exempel vill veta var domänen för en e-postadress används i en serie långa e-postmeddelanden.

  • IndexRegExGroup() är särskilt användbart för avancerad databehandling och används ofta i det första steget i en längre och mer komplex datatransformering. Det är vanligtvis lättare att lösa problem med andra regexfunktioner som ExtractRegExGroup(), MatchRegEx() och CountRegEx(), men det kan finnas tillfällen då IndexRegExGroup() erbjuder lösningar som dessa funktioner inte kan tillhandahålla.

Exempel 1 – laddningsskript för att hitta positioner för ISBN-komponenter

Exempel 2 – diagramuttryck för att hitta URL-positioner (med jämförelse på IndexRegEx() )

Var den här sidan till hjälp för dig?

Om du hittar några fel på denna sida eller i innehållet – ett stavfel, ett steg som saknas eller ett tekniskt fel – berätta för oss så att vi kan blir bättre!