Эй, не забудьте метод REGEXP_SUBSTR ()! Если совпадение не найдено, возвращается пустая строка.
with test (col) as
(select 'some words Host: some characters.net some words' from dual)
select regexp_substr(col, 'Host: (.*\.net)', 1, 1, NULL, 1) result
from test;
Если вы хотите, чтобы исходная строка возвращалась, если совпадения нет, используйте функцию REGEXP_REPLACE ():
with test (col) as
(select 'some words Host: some characters.net some words' from dual)
select regexp_replace(col, '.*Host: (.*\.net).*', '\1') result
from test;