захватывание групп в 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