beautypg.com

Compaq DEC Text Processing Utility AA-PWCBD-TE User Manual

Page 51

background image

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