Przeskocz do zawartości głównej Przejdź do treści uzupełniającej

IndexRegExGroup — funkcja skryptu i funkcja wykresu

Funkcja IndexRegExGroup() przeszukuje wejściowy ciąg znaków i zwraca pozycję początkową n-tego wystąpienia podanego złożonego wzorca wyrażenia regularnego. Opcjonalny czwarty argument count dostarcza wartość n, która w przypadku pominięcia wynosi 1. Pozycje w ciągu znaków są numerowane od lewej do prawej od 1 w górę. Jeśli nie zostanie znalezione żadne dopasowanie, 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 IndexRegExGroupI(), aby wykonywać operacje z wyrażeniami regularnymi bez rozróżniania wielkości liter.

Składnia:  

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

Typ zwracanych danych: liczba całkowita

Argumenty
Argument Opis
text Tekst ciągu wejściowego, w którym ma być wyszukiwane wyrażenie regularne.
regex Wyrażenie regularne używane do wyszukiwania w ciągu wejściowym.
group

Numer grupy w przypadku złożonego wyrażenia regularnego.

Wartość group równa 0 zwraca indeks całego wyrażenia regularnego. Jeśli jednak wyrażenie regularne ma zwracać tylko indeks całego dopasowania, należy użyć funkcji IndexRegEx().

Można określić ujemną wartość group, aby wyszukiwać dopasowania od prawej do lewej.

count

Numer dopasowania. Jest to przydatne, gdy w tekście można znaleźć wiele dopasowań do wyrażenia regularnego. Na przykład określ wartość 4, aby wyodrębnić pozycję czwartego dopasowania.

Ten argument jest opcjonalny. Domyślnie 1, jeśli nie określono. Można określić ujemną wartość, aby wyszukiwać dopasowania od prawej do lewej.

Przykłady funkcji
Przykład Wynik
IndexRegExGroup('abc123','([a-z])([0-9]+)',0) Zwraca 3 (pozycja początkowa kompletnego wyrażenia regularnego).
IndexRegExGroup('abc123','([a-z])([0-9]+)',1) Zwraca 3 (pozycja początkowa pierwszej grupy).
IndexRegExGroup('abc123','([a-z])([0-9]+)',2) Zwraca 4, co jest pozycją początkową drugiej grupy. W wejściowym wzorcu wyrażenia regularnego ciąg ([0-9]+) odpowiada drugiej grupie.
IndexRegExGroup('ABC123','([a-z])([0-9]+)',1) Zwraca 0, ponieważ IndexRegExGroup() rozróżnia wielkość liter.
IndexRegExGroupI('ABC123','([a-z])([0-9]+)',1) Zwraca wartość 3. Jest używany wariant funkcji IndexRegExI(), który nie uwzględnia wielkości liter.

Kiedy używać

Zastosowania tej funkcji są następujące:

  • Identyfikacja miejsc występowania określonych wzorców tekstowych w większych fragmentach tekstu. Na przykład możesz chcieć się dowiedzieć, gdzie domena adresu e-mail jest używana w serii długich wiadomości e-mail.

  • Funkcja IndexRegExGroup() jest szczególnie przydatna do zaawansowanego przetwarzania danych i powszechnie stosowana w pierwszym kroku dłuższej, bardziej złożonej transformacji. Zwykle łatwiej jest rozwiązywać problemy za pomocą innych funkcji wyrażeń regularnych, takich jak ExtractRegExGroup(), MatchRegEx() i CountRegEx(), ale w pewnych sytuacjach IndexRegExGroup() oferuje rozwiązania, których te funkcje nie mogą zapewnić.

Przykład 1 — skrypt ładowania do znajdowania pozycji komponentów ISBN

Przykład 2 — wyrażenia wykresu do wyszukiwania pozycji URL (z porównaniem IndexRegEx())

Czy ta strona była pomocna?

Jeżeli natkniesz się na problemy z tą stroną lub jej zawartością — literówkę, brakujący krok lub błąd techniczny — daj nam znać, co możemy poprawić!