РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
426 of 1593 menu

Метод regexp.Regexp.FindStringIndex

Метод regexp.Regexp.FindStringIndex выполняет поиск первого совпадения с регулярным выражением в указанной строке. Он возвращает срез из двух целых чисел: индекс начала и индекс конца найденного совпадения. Если совпадение не найдено, метод возвращает nil. Первым параметром метод принимает строку для поиска.

Синтаксис

re.FindStringIndex(s string) []int

Пример

Давайте найдем индексы первого совпадения с регулярным выражением `\d+` (одна или более цифр) в строке "abc123def456":

package main import ( "fmt" "regexp" ) func main() { re := regexp.MustCompile(`\d+`) res := re.FindStringIndex("abc123def456") fmt.Println(res) }

Результат выполнения кода:

[3 6]

Индексы [3 6] означают, что совпадение начинается с 3-го символа (индекс 3) и заканчивается перед 6-м символом (индекс 6), то есть захватывает подстроку "123".

Пример

Давайте найдем индексы первого совпадения с регулярным выражением `[A-Z]+` (одна или более заглавных букв) в строке "GoLang":

package main import ( "fmt" "regexp" ) func main() { re := regexp.MustCompile(`[A-Z]+`) res := re.FindStringIndex("GoLang") fmt.Println(res) }

Результат выполнения кода:

[0 1]

Индексы [0 1] означают, что совпадение находится в самом начале строки и захватывает только первый символ "G". Обратите внимание, что поиск останавливается после нахождения первого совпадения.

Пример

Давайте попробуем найти совпадение, которого нет в строке. Используем регулярное выражение `\d+` для строки "abcde":

package main import ( "fmt" "regexp" ) func main() { re := regexp.MustCompile(`\d+`) res := re.FindStringIndex("abcde") fmt.Println(res) }

Результат выполнения кода:

[]

Метод возвращает пустой срез [], так как совпадение не найдено.

Смотрите также

  • метод regexp.Regexp.FindString,
    который возвращает само найденное совпадение в виде строки
  • метод regexp.Regexp.FindIndex,
    который выполняет поиск в срезе байтов и возвращает индексы
  • метод regexp.Regexp.FindAllStringIndex,
    который находит индексы всех совпадений в строке
  • функцию regexp.MustCompile,
    которая компилирует регулярное выражение с паникой при ошибке
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить