ACE Director Alum Daniel Morgan, founder of Morgan's Library, is scheduling
complimentary technical Workshops on Database Security for the first 30
Oracle Database customers located anywhere in North America, EMEA, LATAM, or
APAC that send an email to
asra_us@oracle.com. Request a Workshop for
your organization today.
Purpose
Oracle Web Application Server Regular Expression, Pattern Matching, Support Utilities with 3 fundamental subprograms: AMATCH, MATCH, and CHANGE.
AUTHID
DEFINER
Data Types
TYPE pattern IS TABLE OF VARCHAR2(4) INDEX BY BINARY_INTEGER;
Provides the flexibility to specify *WHERE* in the string to search for a pattern and also gives more information in return by indicating *WHERE* in the string the end of the pattern was found
Overload 1
owa_pattern.amatch(
line IN VARCHAR2,
from_loc IN NUMBER,
pat IN VARCHAR2,
flags IN VARCHAR2 DEFAULT NULL)
RETURN NUMBER;
TBD
Overload 2
owa_pattern.amatch(
line IN VARCHAR2,
from_loc IN NUMBER,
pat IN OUT sys.owa_pattern.pattern,
flags IN VARCHAR2 DEFAULT NULL)
RETURN NUMBER;
TBD
Overload 3
owa_pattern.amatch(
line IN VARCHAR2,
from_loc IN NUMBER,
pat IN VARCHAR2,
backrefs OUT sys.owa_text.vc_arr,
flags IN VARCHAR2 DEFAULT NULL)
RETURN NUMBER;
TBD
Overload 4
owa_pattern.amatch(
line IN VARCHAR2,
from_loc IN NUMBER,
pat IN OUT sys.owa_pattern.pattern,
backrefs OUT sys.owa_text.vc_arr,
flags IN VARCHAR2 DEFAULT NULL)
RETURN NUMBER;
Can extract the matched values from the parenthesized patterns
Overload 1
owa_pattern.match(
line IN VARCHAR2,
pat IN VARCHAR2,
flags IN VARCHAR2 DEFAULT NULL)
RETURN BOOLEAN;
TBD
Overload 2
owa_pattern.match(
line IN VARCHAR2,
pat IN OUT sys.owa_pattern.pattern,
flags IN VARCHAR2 DEFAULT NULL)
RETURN BOOLEAN;
TBD
Overload 3
owa_pattern.match(
line IN VARCHAR2,
pat IN VARCHAR2,
backrefs OUT sys.owa_text.vc_arr,
flags IN VARCHAR2 DEFAULT NULL)
RETURN BOOLEAN;
DECLARE
str dbms_id := 'Today is 03/15/21';
components owa_text.vc_arr;
BEGIN
IF (owa_pattern.match(str, '(\d\d)/(\d\d)/(\d\d)', components)) THEN
dbms_output.put_line('The month is '||components(1));
dbms_output.put_line('The day is '||components(2));
dbms_output.put_line('The year is '||components(3));
END IF;
END;
/ The month is 03
The day is 15
The year is 21
PL/SQL procedure successfully completed.
Overload 4
owa_pattern.match(
line IN VARCHAR2,
pat IN OUT sys.owa_pattern.pattern,
backrefs OUT sys.owa_text.vc_arr,
flags IN VARCHAR2 DEFAULT NULL)
RETURN BOOLEAN;
TBD
Overload 5
owa_pattern.match(
mline IN sys.owa_text.multi_line,
pat IN VARCHAR2,
rlist OUT sys.owa_text.row_list,
flags IN VARCHAR2 DEFAULT NULL)
RETURN BOOLEAN;
TBD
Overload 6
owa_pattern.match(
mline IN sys.owa_text.multi_line,
pat IN OUT sys.owa_pattern.pattern,
rlist OUT sys.owa_text.row_list,
flags IN VARCHAR2 DEFAULT NULL)
RETURN BOOLEAN;