Группирующие скобки в Go
Круглые скобки объединяют фрагмент образца в одну группу. Квантификатор после закрывающей скобки действует на всю группу целиком, а не на один символ.
Найдем повторяющиеся пары букв (ab)+:
package main
import (
"fmt"
"regexp"
)
func main() {
re := regexp.MustCompile(`(ab)+`)
txt := "ab abab xababab"
fmt.Println(re.FindAllString(txt, -1))
}
Дана строка:
txt := "ab abab ab"
Напишите образец, который найдет "abab" и "ababab".
Дана строка:
txt := "aabaab aa"
Сгруппируйте ba и повторите группу один или более раз.
Дана строка:
txt := "(12)(12)(12)"
Объясните, чем отличается группа от обычных скобок в тексте без экранирования.