Regexp_substr return only part of searching pattern.
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
Its returning "number №", without digits. However, search works fine: without "№ 3" in sample code it return none