Рубрики

Голанг | Поиск индекса регулярного выражения, присутствующего в слайсе

Регулярное выражение — это последовательность символов, которые определяют шаблон поиска. Перейти языковой поддержки регулярных выражений. Регулярное выражение используется для анализа, фильтрации, проверки и извлечения значимой информации из большого текста, такого как журналы, выходные данные, генерируемые другими программами и т. Д.
В регулярном выражении Go вы можете найти крайнее левое значение индекса указанного регулярного выражения в заданном фрагменте байтов с помощью метода FindIndex () . Этот метод возвращает двухэлементный фрагмент целых чисел, который определяет местоположение крайнего левого совпадения в данном фрагменте регулярного выражения и совпадения, например s [loc [0]: loc [1]]. Или он вернет ноль, если совпадение не найдено. Этот метод определен в пакете regexp, поэтому для доступа к этому методу вам необходимо импортировать пакет regexp в вашу программу.

Синтаксис:

func (re *Regexp) FindIndex(s []byte) (loc []int)

Пример 1:

// Перейти к программе, чтобы проиллюстрировать, как найти индекс
// значение регулярного выражения в данном срезе

  
package main

  
import (

    "fmt"

    "regexp"

)

  
// Основная функция
func main() {

  

    // Находим значение индекса регулярного выражения

    // из заданного кусочка байтов

    // Использование метода FindIndex ()

    m := regexp.MustCompile(`ek`)

  

    fmt.Println(m.FindIndex([]byte(`GeeksgeeksGeeks, geeks`)))

    fmt.Println(m.FindIndex([]byte(`Hello! geeksForGEEKs`)))

    fmt.Println(m.FindIndex([]byte(`I like Go language`)))

    fmt.Println(m.FindIndex([]byte(`Hello, Welcome`)))

  
}

Выход:

[2 4]
[9 11]
[]
[]

Пример 2:

// Перейти к программе, чтобы проиллюстрировать, как найти
// значение индекса регулярного выражения в данном срезе
package main

  
import (

    "fmt"

    "regexp"

)

  
// Основная функция
func main() {

  

    // Находим регулярное выражение из

    // данный срез

    // Использование метода Find ()

    m := regexp.MustCompile(`45`)

    res := m.Find([]byte(`I45, like345, Go-234 langu34age`))

  

    if res == nil {

        fmt.Println("Nil found")

    } else {

  

        // Находим значение индекса

        // регулярное выражение из заданного среза

        // Использование метода FindIndex ()

        r := m.FindIndex([]byte(`I45, like345, Go-234 langu34age`))

        fmt.Printf("Found: %q with index value: %d", res, r)

    }

}

Выход:

Found: "45" with index value: [1 3]

Рекомендуемые посты:

Голанг | Поиск индекса регулярного выражения, присутствующего в слайсе

0.00 (0%) 0 votes