Paradoの正規表現は、コンマ以外のすべてに複数回一致し、その後にキャリッジリターンが続きます。これは、改行やテキストにカンマが含まれている場合は機能しないことを意味します。
Oracleは、m
を使用した複数行の式をサポートしています。 一致パラメーター
。このモードを使用する場合、$
各行の終わりと文字列の終わりに一致します。これを使用して、式を次のように大規模に単純化できます。
regexp_substr(str, '.*$', 1, 1, 'm')
これは、何かに一致する文字列の最初の出現箇所(最初の行)に一致し、その後に最初の文字から数えて文字列の終わりが続きます。
例として:
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