Regulární výraz Parada se shoduje se vším, co není čárka, za kterou následuje znak návratu vozíku. To znamená, že to nebude fungovat pro odřádkování nebo pokud je v textu čárka.
Oracle podporuje víceřádkové výrazy pomocí m
parametr shody
. Při použití tohoto režimu $
odpovídá konci každého řádku i konci řetězce. Můžete to použít k zjednodušení výrazu masivně:
regexp_substr(str, '.*$', 1, 1, 'm')
To znamená, že odpovídá prvnímu výskytu (prvnímu řádku) řetězce, který odpovídá čemukoli, následovaný koncem řetězce, počítáno od prvního znaku.
Jako příklad:
with strings as (
select 'hi
hi again' as str
from dual
union all
select 'bye
and again'
from dual
)
select regexp_substr(str, '.*$', 1, 1, 'm')
from strings