Compaq AA-PWCBD-TE Computer Accessories User Manual


 
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