13.11 REGEXPファンクション

このファンクションは、正規表現のコンテキストを変更する可能性がある文字をエスケープします。ユーザー入力を保護するために使用してください。次に、このファンクションによってバックスラッシュ(\)でエスケープされるASCII文字を示します。

\.^$*+-?()[]{|

構文

APEX_ESCAPE.REGEXP (
    p_string IN VARCHAR2);

パラメータ

表13-12 APEX_ESCAPE.REGEXPファンクションのパラメータ

パラメータ 説明

p_string

エスケープするテキスト。

次の例では、必ずMary-Annの特殊文字"-"がエスケープされ、正規表現エンジンによって無視されます。

declare
    l_subscribers varchar2(4000) := 'Christina,Hilary,Mary-Ann,Joel';
    l_name varchar2(4000) := 'Mary-Ann';
begin
    if regexp_instr(l_subscribers,'(^|,)'|| apex_escape.regexp(l_name)||'($|,)')>0
    then
        sys.htp.p('found');
    else
        sys.htp.p('not found')
    endif;
end