Именованные карманы в Go
Синтаксис (?P<name>...) задает имя кармана. Имена удобны при разборе и в строке замены.
Назовем карман user:
package main
import (
"fmt"
"regexp"
)
func main() {
re := regexp.MustCompile(`(?P<user>\w+)`)
txt := "hello ann"
m := re.FindStringSubmatch(txt)
fmt.Println(m)
fmt.Println(re.SubexpNames())
}
Дана строка:
txt := "id=42"
Добавьте имя num для цифр после =.
Дана строка:
txt := "city: oslo"
Сопоставьте имена из команды имен подгрупп.
Дана строка:
txt := "x-y"
Сделайте имена left и right для частей.