Рубрики

Голанг | Проверка байта слайса для указанного регулярного выражения

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

Синтаксис:

func Match(p string, s []byte) (result bool, err error)

Здесь p представляет шаблон, а s представляет фрагмент байтов. Эта функция возвращает true, если шаблон соответствует, или возвращает false, если шаблон не соответствует. А также вернуть ошибку, если найден.

Пример 1:

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

  
import (

    "fmt"

    "regexp"

)

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

  

    // Создание и инициализация

    // кусочек байтов

    // Использование стенографического объявления

    s1 := []byte{'G', 'E', 'E', 'K', 'S', 'F', 'O',

                      'R', 'G', 'E', 'E', 'K', 'S'}

      

    s2 := []byte{'g', 'f', 'g'}

  

    // Шаблон

    p1 := "G"

    p2 := "g"

    p3 := "^^"

    p4 := "@"

  

    // Соответствующий шаблон

    // Использование функции Match ()

    res1, e := regexp.Match(p1, s1)

    fmt.Println("Result and Error is:", res1, e)

  

    res2, e := regexp.Match(p2, s1)

    fmt.Println("Result and Error is:", res2, e)

  

    res3, e := regexp.Match(p3, s1)

    fmt.Println("Result and Error is:", res3, e)

  

    res4, e := regexp.Match(p4, s1)

    fmt.Println("Result and Error is:", res4, e)

  

    res5, e := regexp.Match(p1, s2)

    fmt.Println("Result and Error is:", res5, e)

  

    res6, e := regexp.Match(p2, s2)

    fmt.Println("Result and Error is:", res6, e)

  

    res7, e := regexp.Match(p3, s2)

    fmt.Println("Result and Error is:", res7, e)

  

    res8, e := regexp.Match(p4, s2)

    fmt.Println("Result and Error is:", res8, e)

  
}

Выход:

Result and Error is: true <nil>
Result and Error is: false <nil>
Result and Error is: true <nil>
Result and Error is: false <nil>
Result and Error is: false <nil>
Result and Error is: true <nil>
Result and Error is: true <nil>
Result and Error is: false <nil>

Пример 2:

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

  
import (

    "fmt"

    "regexp"

)

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

  

    // Соответствующий шаблон в

    // заданный кусочек байтов

    // Использование функции Match ()

    res1, e := regexp.Match(`eks`, []byte(`GeeksforGeeks`))

    fmt.Println(res1, e)

  

    res2, e := regexp.Match(`BAN`, []byte(`Banana`))

    fmt.Println(res2, e)

  

    res3, e := regexp.Match(`123`, []byte(`GeeksforGeeks`))

    fmt.Println(res3, e)

  

    res4, e := regexp.Match(`e(ks`, []byte(`GeeksforGeeks`))

    fmt.Println(res4, e)

  
}

Выход:

true <nil>
false <nil>
false <nil>
false error parsing regexp: missing closing ): `e(ks`

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

Голанг | Проверка байта слайса для указанного регулярного выражения

0.00 (0%) 0 votes