توضیحات
این تابع همانند تابع SUBSTR است و این امکان را میدهد تا قسمتی از رشته را با توجه به الگوی مورد نظر جدا کنیم.
دستور
تابع REGEXP_SUBSTR به صورت زیر نوشته میشود:
REGEXP_SUBSTR( string, pattern [, start_position [, nth_appearance [, match_parameter [, sub_expression ] ] ] ] )
.
PATTERN: الگویی را برای تطبیق دادن ارائه میدهد.
start_position: گزینهای اختیاری است، نشان دهنده جایی است که جستوجو از آنجا آغاز میشود.
nth_appearance: گزینهای اختیاری است، نشان دهنده این است که خروجی چندمین تکرار الگو باشد.
match_parameter: گزینهای اختیاری است، امکان تغییر رفتار تابع را میدهد.
Subexpression: گزینهای اختیاری است، زمانی به کار میرود که الگو یک زیرجمله دارد و میخواهیم مشخص کنیم کدام زیرجمله مدنظرمان است.
مثال
مثالی از خروجی تابع REGEXP_SUBSTR را مشاهده میکنیم:
SELECT REGEXP_SUBSTR ('TechOnTheNet is a great resource', '(\S*)(\s)') FROM dual; Result: 'TechOnTheNet ' SELECT REGEXP_SUBSTR ('TechOnTheNet is a great resource', '(\S*)') FROM dual; Result: 'TechOnTheNet' SELECT REGEXP_SUBSTR ('TechOnTheNet is a great resource', '(\S*)(\s)', 1, 2) FROM dual; Result: 'is ' SELECT REGEXP_SUBSTR ('2, 5, and 10 are numbers in this example', '\d') FROM dual; Result: 2 SELECT REGEXP_SUBSTR ('2, 5, and 10 are numbers in this example', '(\d)(\d)') FROM dual; Result: 10 SELECT REGEXP_SUBSTR ('Anderson', 'a|e|i|o|u', 1, 1, 'i') FROM dual; Result: 'A'