Я не уверен, что вам нужен флаг g
в случае H2, потому что глобальная замена всех совпадений представляется по умолчанию. Из документации :
Заменяет каждую подстроку, которая соответствует регулярному выражению. Для получения дополнительной информации см. Метод Java String.replaceAll (). Если какой-либо параметр имеет значение null (за исключением необязательного параметра flagsString), результатом является значение null.
Я предполагаю, что H2 * REGEXP_REPLACE
реализуется под капотом Java String#replaceAll
. В этом случае все соответствующие подстроки будут автоматически заменены.
Что касается вашей проблемы с двумя разными базами данных, вам действительно следует попытаться использовать одну и ту же базу данных как для тестирования, так и для производства. Если это невозможно, вы можете придерживаться ANSI SQL, если это возможно.