26.23 REGEXPファンクション

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

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

構文

APEX_ESCAPE.REGEXP (
    p_string    IN VARCHAR2 )

パラメータ

パラメータ 説明
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')
    END IF;
END