Regexp_substr возвращает только часть шаблона поиска.
SELECT
REGEXP_SUBSTR('im searching value beginning from keyword with word "number" and digits after it like number № 3 in the string',
'(number.{0,4}\d{1,2})')
"REGEXP_SUBSTR"
FROM DUAL
Возвращаемое «число №», без цифр. Тем не менее, поиск работает нормально: без «№ 3» в примере кода он не возвращает ни одного