У меня есть следующее регулярное выражение (ORDER\s+BY)|(LIMIT)|$
.Я хочу вставить подстроку перед первым совпадением регулярного выражения.Я ищу чистое решение регулярных выражений в Голанге, не находя индекс и затем добавляя подстроку.Поскольку Golang имеет только функцию regexp.ReplaceAll, которая заменяет все совпадения, а не первое совпадение.
exp := regexp.MustCompile(`(ORDER\s+BY)|(LIMIT)|$`)
fmt.Println(exp.ReplaceAllString(str, "..."))
Пример
Ввод: abcd ORDER BY LIMIT
substring = GROUP BY
Ожидаемый результат: abcd GROUP BY ORDER BY LIMIT
Ввод: abcd LIMIT
Ожидаемый результат: abcd GROUP BY LIMIT