«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как я могу подражать захватыванию групп в регулярных выражениях Go?

Как я могу подражать захватыванию групп в регулярных выражениях Go?

Опубликовано в 2025-02-27
Просматривать:923

How Can I Emulate Capturing Groups in Go Regular Expressions?

захватывание групп в Go Regular выражения

в Go, регулярные выражения используют библиотеку RE2, в которой отсутствует нативная поддержка для захвата групп, найденных в Ruby и других языках. Однако существует решение для эмуляции этой функциональности.

для достижения желаемого поведения необходимо добавить «p» к имени группы, как показано в следующем обновленном выражении:

(?P\d{4})-(?P\d{2})-(?P\d{2})

В этом примере r.findstringsubmatch () возвращает подборинг -подстроение, а соответствующая r.subexpnames () предоставляет имена групп:

[] string {"2015", "05", "27"} [] string {"", "Год", "Месяц", "День"}

package main

import (
    "fmt"
    "regexp"
)

func main() {
    r := regexp.MustCompile(`(?P\d{4})-(?P\d{2})-(?P\d{2})`)
    fmt.Printf("%#v\n", r.FindStringSubmatch(`2015-05-27`))
    fmt.Printf("%#v\n", r.SubexpNames())
}
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3