Biểu thức chính quy của Parado khớp với mọi thứ không phải là dấu phẩy nhiều lần theo sau bởi dấu xuống dòng. Điều này có nghĩa là nó sẽ không hoạt động đối với nguồn cấp dữ liệu dòng hoặc nếu có dấu phẩy trong văn bản.
Oracle hỗ trợ các biểu thức nhiều dòng bằng cách sử dụng m
tham số khớp
. Khi sử dụng chế độ này, $
khớp với cuối mỗi dòng cũng như cuối chuỗi. Bạn có thể sử dụng điều này để chỉ đơn giản là biểu thức hàng loạt để:
regexp_substr(str, '.*$', 1, 1, 'm')
Điều đó khớp với lần xuất hiện đầu tiên (dòng đầu tiên) của chuỗi khớp với bất kỳ thứ gì, theo sau là phần cuối của chuỗi, tính từ ký tự đầu tiên.
Ví dụ:
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