У меня есть строка, которая может содержать пробелы.Я хотел бы заменить эти пробелы регулярным выражением, совпадающим с \ t, \ r, \ n.После замены я хотел бы вызвать regexp_like (функция оракула) для сопоставления поля с этой строкой.
Я знаю, что можно вызывать функции БД, используя построитель критериев, как описано, например, в this link
Я не очень знаком с различием между регулярным выражением в Java и Oracle и тем, как это объединить (я никогда не вызывал функции из построителя критериев).Вот мои предварительные шаги с местами, где я застрял в комментариях
// first replace all spaces with regex for \s,\r,\t, value is the original string
value.replaceAll(" +", "[\\t\\n\\r]+")
// build the db function call expression, seems I cant do table.<String>get(field) and cant pass value as a string
Expression<String> regExp = cb.function("regexp_like", String.class, table.<String>get(field), value);
// now create a predicate not sure how
Predicate fieldMatch = cb.equal(...)
Возможно ли это?