Рубрики

Голанг | Разделение фрагмента, разделенного указанным выражением

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

Синтаксис:

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

Здесь, если m> 0 , то он возвращает не более m подстрок и последняя строковая подстрока не будет разбита. Если m == 0 , то он вернет ноль. Если m <0 , он вернет все подстроки.

Пример 1:

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

  
import (

    "fmt"

    "regexp"

)

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

  

    // Разбиваем данный фрагмент, который

    // разделены данным выражением

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

    m1 := regexp.MustCompile(`e`)

  

    fmt.Println(m1.Split("GeeksforGeeks", -1))

    fmt.Println(m1.Split("GeeksforGeeks", 1))

    fmt.Println(m1.Split("GeeksforGeeks", 0))

    fmt.Println(m1.Split("GeeksforGeeks", 3))

    fmt.Println(m1.Split("GeeksforGeeks", 2))

    fmt.Println()

  

    m2 := regexp.MustCompile(`123`)

    fmt.Println(m2.Split("123Gee123ks123Geek123s", -2))

    fmt.Println(m2.Split("123Gee123ks123Geek123s", 3))

    fmt.Println(m2.Split("123Gee123ks123Geek123s", 0))

    fmt.Println(m2.Split("123Gee123ks123Geek123s", -1))

    fmt.Println(m2.Split("123Gee123ks123Geek123s", 1))

  
}

Выход:

[G  ksforG  ks]
[GeeksforGeeks]
[]
[G  ksforGeeks]
[G eksforGeeks]

[ Gee ks Geek s]
[ Gee ks123Geek123s]
[]
[ Gee ks Geek s]
[123Gee123ks123Geek123s]

Пример 2:

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

  
import (

    "fmt"

    "regexp"

)

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

  

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

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

    s := "A vv regular vv  expression v is vv a sequence v"+

      " of vv characters v which define a vv search pattern."

  

    // Разбиваем данный фрагмент, который

    // разделены данным выражением

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

    m := regexp.MustCompile(`v`)

    res1 := m.Split(s, -1)

    fmt.Println(res1)

  

    res2 := m.Split(s, 1)

    fmt.Println(res2)

  

    res3 := m.Split(s, -0)

    fmt.Println(res3)

  

    res4 := m.Split(s, -4)

    fmt.Println(res4)

  
}

Выход:

[A    regular     expression   is    a sequence   of    characters   which define a    search pattern.]
[A vv regular vv  expression v is vv a sequence v of vv characters v which define a vv search pattern.]
[]
[A    regular     expression   is    a sequence   of    characters   which define a    search pattern.]

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

Голанг | Разделение фрагмента, разделенного указанным выражением

0.00 (0%) 0 votes