Несохраняющие скобки в Go
Префикс (?: открывает группу, которая не создает карман, но позволяет применить квантификатор.
Повторим ab без лишнего кармана:
package main
import (
"fmt"
"regexp"
)
func main() {
re := regexp.MustCompile(`(?:ab)+`)
txt := "abab x"
fmt.Println(re.FindStringSubmatch(txt))
}
Дана строка:
txt := "xyxy"
Сгруппируйте xy без сохранения.
Дана строка:
txt := "a1a1"
Скажите, какой номер получит карман после (?:...).
Дана строка:
txt := "test"
Зачем нужна группа без кармана при квантификаторе.