Рубрики

Голанг | Создание строки, содержащей метасимволы регулярных выражений

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

Синтаксис:

func QuoteMeta(str string) string

Пример 1:

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

  
import (

    "fmt"

    "regexp"

)

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

  

    // Экранируем все обычные

    // метасимволы выражения

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

    res1 := regexp.QuoteMeta(`String 1: .+*()|[]{}^$`)

    fmt.Println(res1)

  

    res2 := regexp.QuoteMeta(`String 2: +()*`)

    fmt.Println(res2)

  

    res3 := regexp.QuoteMeta(`String 3: []|{}$`)

    fmt.Println(res3)

  

    res4 := regexp.QuoteMeta(`String 4: ^$*-,`)

    fmt.Println(res4)

  
}

Выход:

String 1: \.\+\*\(\)\|\[\]\{\}\^\$
String 2: \+\(\)\*
String 3: \[\]\|\{\}\$
String 4: \^\$\*-,

Пример 2:

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

  
import (

    "fmt"

    "regexp"

)

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

  

    // Создание и инициализация строки

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

    s1 := `+*?()|[]^$`

    s2 := `+*?()|[]^$

    `

    if s1 == s2 {

  

        // Экранируем все обычные

        // метасимволы выражения

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

        res := regexp.QuoteMeta(s1)

        fmt.Println("String:", res)

          

    } else {

  

        fmt.Println("Not Equal")

    }

  
}

Выход:

Not Equal

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

Голанг | Создание строки, содержащей метасимволы регулярных выражений

0.00 (0%) 0 votes