Рубрики

Голанг | Извлечение всех регулярных выражений из строки

Регулярное выражение — это последовательность символов, которые определяют шаблон поиска. Перейти языковой поддержки регулярных выражений. Регулярное выражение используется для анализа, фильтрации, проверки и извлечения значимой информации из большого текста, такого как журналы, выходные данные, генерируемые другими программами и т. Д.
В регулярном выражении Go вы можете найти все регулярные выражения в данной строке с помощью метода FindAllString () . Этот метод возвращает фрагмент всех последовательных совпадений указанного регулярного выражения, как определено описанием «Все» в комментарии пакета. Или этот метод вернет nil, если не найдено совпадений, и здесь count указывает количество подстрок возвращаемого среза. Этот метод определен в пакете regexp, поэтому для доступа к этому методу вам необходимо импортировать пакет regexp в вашу программу.

Синтаксис:

func (re *Regexp) FindAllString(str string, m int) []string

Пример 1:

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

  
import (

    "fmt"

    "regexp"

)

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

  

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

    // данная строка

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

    m := regexp.MustCompile(`geeks.`)

  

    fmt.Println(m.FindAllString("GeeksgeeksGeeks, geeks", -1))

    fmt.Println(m.FindAllString("Hello! geeksForGEEKsgeeks-geeks", 2))

    fmt.Println(m.FindAllString("I like Go language", 0))

    fmt.Println(m.FindAllString("Hello, Welcome", 1))

  
}

Выход:

[geeksG]
[geeksF geeks-]
[]
[]

Пример 2:

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

  
import (

    "fmt"

    "regexp"

)

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

  

    // Находим номер из

    // данная строка

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

    s := "I45, like345, Go-234 langu34age"

  

    m := regexp.MustCompile(`[-]?\d[\d]*[\]?[\d{2}]*`)

    res := m.FindAllString(s, 2)

    for _, ele := range res {

        fmt.Println("Number:", ele)

    }

}

Выход:

Number: 45
Number: 345

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

Голанг | Извлечение всех регулярных выражений из строки

0.00 (0%) 0 votes