توضیحات

این تابع مکان الگویی را درون یک تابع باز می‌گرداند.

دستور

تابع REGEXP_INSTR به صورت زیر نوشته می‌شود:

REGEXP_INSTR( string, pattern [, start_position [, nth_appearance [, return_option [, match_parameter [, sub_expression ] ] ] ] ] )

.

PATTERN: الگویی را برای تطبیق دادن ارائه می‌دهد.
انواع علامت‌ها1

start_position: گزینه‌ای اختیاری است، نشان دهنده جایی است که جست‌وجو از آن‌جا آغاز می‌شود.
nth_appearance: گزینه‌ای اختیاری است، نشان دهنده این است که خروجی چندمین تکرار الگو باشد.
return_option: گزینه‌ای اختیاری است، اگر 0 در نظر گرفته شود جایگاه اولین کاراکتر از الگوی مورد نظر را نشان می‌دهد.
match_parameter: گزینه‌ای اختیاری است، امکان تغییر رفتار تابع را می‌دهد.

 

انواع علامت‌ها2

Subexpression: گزینه‌ای اختیاری است، زمانی به کار می‌رود که الگو یک زیرجمله دارد و می‌خواهیم مشخص کنیم کدام زیرجمله مدنظرمان است.

 

 


مثال

مثالی از خروجی تابع REGEXP_INSTR را مشاهده می‌کنیم:

SELECT REGEXP_INSTR ('TechOnTheNet is a great resource', 't')
FROM dual;

Result: 12

SELECT REGEXP_INSTR ('TechOnTheNet is a great resource', 't', 1, 1, 0, 'i')
FROM dual;

Result: 1

SELECT REGEXP_INSTR (last_name, 't', 1, 1, 0, 'i') AS First_Occurrence
FROM contacts;

SELECT REGEXP_INSTR ('The example shows how to use the REGEXP_INSTR function', 'ow', 1, 1, 0, 'i')
FROM dual;

Result: 15

SELECT REGEXP_INSTR ('Anderson', 'a|e|i|o|u')
FROM dual;

Result: 4

SELECT REGEXP_INSTR ('TechOnTheNet', 'a|e|i|o|u', 1, 1, 0, 'i')
FROM dual;

Result: 2

SELECT REGEXP_INSTR ('TechOnTheNet', 'a|e|i|o|u', 1, 3, 0, 'i')
FROM dual;

Result: 9

SELECT REGEXP_INSTR ('TechOnTheNet', 'a|e|i|o|u', 1, 2, 0, 'i')
FROM dual;

Result: 5