Im пытается заменить строку со случайными числами с диапазоном чисел, определенной в строкеПолучение значений группы в ReplaceAllStringFunc обратного вызова
package main
import (
"fmt"
"math/rand"
"regexp"
"strconv"
)
func replaceFunc(s string) string {
groups := //?? How do i get the current mach groups
return rand.Intn(groups[2] - groups[1]) + groups[1]
}
func main() {
rand.Seed(time.Now().Unix())
repl := "1,10 1,50 1,12 1,2 1,3"
repl = regexp.MustCompile("(\\d+),(\\d+)").ReplaceAllStringFunc(repl, replaceFunc)
fmt.Println(repl)
}
Как бы получить регулярное выражение группы при замене?
Ваш вопрос не ясно для меня. Что вы хотите получить в результате? –
Я хочу, чтобы каждое (\ d +), (\ d +) регулярное выражение заменялось уникальным случайным числом, которое находится между первой цифрой и второй цифрой. Таким образом, «1,2 3,4 5,6» заменяется на (например) «2 4 5», поскольку первое число находится между 1-2, затем следующее 3-4, затем следующее между 5 -6. – BahNahNah