regexp_instr ÇÔ¼ö

ÀÓÀÇÀÇ ¹®ÀÚ¿­¿¡ Á¸ÀçÇÏ´Â ÀÓÀÇÀÇ ÆÐÅÏÀÇ À§Ä¡¸¦ Ãâ·ÂÇÑ´Ù.
¡¼Çü½Ä¡½ 
       REGEXP_INSTR (source_char, pattern [, position 
                                          [, occurrence
                                          [, return_opt
                                          [, match_parameter
                                          [, subexpr ]]]]]
                    )

source_char ãÀ» ¹®ÀÚ·Î µ¥ÀÌÅÍŸÀÔÀº :CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB, NCLOBÀÓ
pattern 512¹ÙÀÌÆ®±îÁöÀÇ Á¤±ÔÇ¥Çö½ÄÀ¸·Î µ¥ÀÌÅÍŸÀÔÀÌ source_char°ú ´Ù¸£¸é patternÀÇ µ¥ÀÌÅÍŸÀÔÀ» source_char°ú °°°Ô º¯È¯, ¶Ç '(123(45))'´Â '12345'ó·³ ó¸®ÇÔ
position ãÀ» ¹®ÀÚÀÇ À§Ä¡·Î µðÆúÆ®´Â 1À̸ç, À̴ ù ±ÛÀÚºÎÅÍ Ã£´Â ´Ù´Â ÀǹÌ
occurrence source_char¿¡ patternÀÌ ¹ß»ýÇÑ È½¼ö·Î µðÆúÆ®´Â 1ÀÓ
return_option 0: µðÆúÆ®·Î occurrenceÀÇ Ã¹¹®ÀÚºÎÅÍ ¹Ýȯ
1: occurrenceÀÇ ´ÙÀ½¹®ÀÚºÎÅÍ ¹Ýȯ
match_parameter µðÆúÆ® ¸ÅĪÀ» º¯°æÇÒ ¶§ »ç¿ë
subexpr 0∼9ÀÇ Á¤¼ö·Î subexpressionÀÇ À§Ä¡¸¦ ³ªÅ¸³»¸ç, 0Àº pattern°ú substringÀÌ ¿ÏÀüÈ÷ ÀÏÄ¡ÇÔÀ» ÀǹÌ

¿¹: 0123(((abc)(de)f)ghi)45(678)Àº ´ÙÀ½°ú °°Àº 5°³ÀÇ ¼­ºêÇ¥ÇöÀ» Æ÷ÇÔÇÔ,

'abcdefghi','abcdef', 'abc','de','678'
¡¼¿¹Á¦¡½ SQL> select * from test; ID NAME EMAIL ---------- -------------------- ------------------------------ 1 kim1 kim1@abc.co.kr 2 kim22 kim22@abc.co.kr 3 kim333 kim333@abc.co.kr 4 kim4444 kim4444@abc.co.kr SQL> select name, regexp_instr(name,'[^[:alpha:]]') from test; NAME REGEXP_INSTR(NAME,'[^[:ALPHA:]]') -------------------- --------------------------------- kim1 4 kim22 4 kim333 4 kim4444 4 SQL> ¡¼¿¹Á¦¡½ SQL> select * from test; ID NAME EMAIL ---------- -------------------- ------------------------------ 1 Hello1234 hello@abc.c.kr 2 you3456 you@abc.co.kr SQL> select name,regexp_instr(name,'[^[:alpha:]]') position from test; NAME POSITION -------------------- ---------- Hello1234 6 you3456 4 SQL>
SQL> select REGEXP_INSTR('500 Oracle ParkWay, Redwood Shores, CA', 2 '[^ ]+', 1,6) "REGEXP_INSTR" 3 from dual; REGEXP_INSTR ------------ 37 SQL> select REGEXP_INSTR('500 Oracle ParkWay, Redwood Shores, CA', 2 '[s|r|p][[:alpha:]]{6}',3,2,1,'i') "REGEXP_INSTR" 3 from dual; REGEXP_INSTR ------------ 28 SQL> select REGEXP_INSTR('1234567890','(123)(4(56)(78))',1,1,0,'i',1) "REGEXP_INSTR" 2 from dual; ¢Ð '123'ÀÇ Ã¹±ÛÀÚ REGEXP_INSTR ------------ 1 SQL> select REGEXP_INSTR('1234567890','(123)(4(56)(78))',1,1,0,'i',2) "REGEXP_INSTR" 2 from dual; ¢Ð '45678'ÀÇ Ã¹±ÛÀÚ REGEXP_INSTR ------------ 4 SQL> select REGEXP_INSTR('1234567890','(123)(4(56)(78))',1,1,0,'i',4) "REGEXP_INSTR" 2 from dual; ¢Ð '78'ÀÇ Ã¹±ÛÀÚ REGEXP_INSTR ------------ 7 SQL>