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

IndexRegEx — funkcja skryptu i funkcja wykresu

Funkcja IndexRegEx() przeszukuje wejściowy ciąg znaków i zwraca pozycję początkową n-tego wystąpienia podanego wzorca wyrażenia regularnego. Opcjonalny trzeci 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 IndexRegExI(), aby wykonywać operacje z wyrażeniami regularnymi bez rozróżniania wielkości liter.

Składnia:  

IndexRegEx (text, regex [, 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.
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
IndexRegEx('abc123','[a-z][0-9]+') Zwraca 3 (pozycja początkowa pierwszego dopasowania).
IndexRegEx('abc123','[a-z][0-9]+',2) Zwraca 0 (wyrażenie regularne nie ma drugiego dopasowania).
IndexRegEx('ABC123','[a-z][0-9]+') Zwraca 0, ponieważ IndexRegEx() rozróżnia wielkość liter.
IndexRegExI('ABC123','[a-z][0-9]+') 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 wzorzec adresu e-mail jest używany w serii długich wiadomości e-mail.

  • Funkcja IndexRegEx() 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 ExtractRegEx(), MatchRegEx() i CountRegEx(), ale w pewnych sytuacjach IndexRegEx() oferuje rozwiązania, których te funkcje nie mogą zapewnić.

Przykład 1 — skrypt ładowania do identyfikacji książek według ISBN

Przykład 2 — wyrażenie wykresu do identyfikacji kontaktów z dodatkowymi numerami telefonów

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ć!