str_regexp_get_value_c

	status.i4.v = str_regexp_get_value_c(source_string.i1p.r,
					     match_pattern.i1a.r,
					     output_string.i1a.r
					     [,max_return.i4.v]
					     [,options.u4.v])

	This routine extracts a value matching a regular expression
	from an input string and copies it into a caller-supplied output
	string.  The pointer to the input string is then updated to
	point immediately following the extracted string.  The output
	string is always null terminated.

	source_string	address of pointer to input string (This will be
			modified to point just past the extracted string
			upon return.)
	match_pattern	null terminated pattern to be searched for
			(If a value of NULL is passed for this argument,
			 the last pattern established will be used.)
	output_string	buffer to copy extracted string to (It must be long
			enough to hold the extracted string plus a null
			terminator.)
	[max_return]	maximum number of characters to return
			(default is 256)
	[options]	search options
			(STR_OPT_NONE -> no options selected (default),
			 STR_OPT_CASE_SENSITIVE -> case sensitive operation,
			 STR_OPT_USE_EXTENDED_REGEXP -> use extended regular
							expressions,
			 STR_OPT_TREAT_NL_AS_SPECIAL -> treat new lines as
							special characters in
							conjunction with '^' and
							'$' search characters)

	This function returns status values as follows:

	CLIB_INVARG		invalid argument passed
	CLIB_NOINIT		no search pattern esablished
	positive number		number of characters extracted

	This function requires the following include files:

	cbslib_h, acnet_errors_h

	Related functions:

	str_get_value_c, str_regexp_compile_pattern_c, str_regexp_free_pattern,
	strtok, str_get_tagged_value_c, str_get_tagged_value_alloc_c,
	str_get_bracketed_c, str_regexp_find_string_c, str_regexp_compare,
	str_regexp_compare_nocase, str_regexp_insert_string_c,
	str_regexp_remove_string_c

	C/C++ usage:

	static char	source_string[] = "This is a string.";
	static const char	match_string[] = "is.*a";
	char	output_string[65];
	char	*source_string_ptr = source_string;
	int	status;
	int	max_return = (int) sizeof(output_string) - 1;
	unsigned int	options = STR_OPT_NONE;

	status = str_regexp_get_value_c(&source_string_ptr,match_string,
					output_string,max_return,options);