Compaq DEC Text Processing Utility AA-PWCBD-TE User Manual
Page 51
DEC Text Processing Utility Data Types
3.7 Pattern Data Type
To create a pattern, use DECTPU pattern operators (+, &, | , @) to connect any of
the following:
•
String constants
•
String variables
•
Pattern variables
•
Calls to pattern built-in procedures
•
The following keywords:
ANCHOR
BUFFER_BEGIN
BUFFER_END
LINE_BEGIN
LINE_END
PAGE_BREAK
REMAIN
UNANCHOR
•
Parentheses (to enclose expressions)
Patterns can be simple or complex. A simple pattern can be composed of sets
of strings connected by one of the pattern operators. The following example
indicates that pat1 matches either the string
"
abc
"
or the string
"
def
"
:
pat1 := "abc" | "def";
If you connect two strings with the + operator, the result is a string rather than a
pattern. For example, the following statement gives pat1 the string data type:
pat1 := "abc" + "def";
The SEARCH and SEARCH_QUIETLY built-in procedures accept such a string
as a parameter.
A more complex pattern uses pattern built-in procedures and existing patterns
to form a new pattern. The following example indicates that pat2 matches the
string
"
abc
"
followed by the longest string that contains any characters from the
string
"
12345
"
:
pat2 := "abc" + SPAN ("12345");
Pat2 matches the string
"
abc123
"
in the text string
"
xyzabc123def
"
.
Following are additional examples of statements that create complex patterns:
pat1 := any( "abc" );
pat2 := line_begin + remain;
pat3 := "abc" | "xes";
pat4 := pat1 + "12";
pat5 := "xes" @ var1;
pat6 := "abc" & "123";
You can assign a pattern to a variable and then use the variable as a parameter
for the SEARCH or SEARCH_QUIETLY built-in procedure. SEARCH or
SEARCH_QUIETLY looks for the character sequences specified by the pattern
that you use as a parameter. If SEARCH or SEARCH_QUIETLY finds a match
DEC Text Processing Utility Data Types 3–11