Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
RGXG_UTILS_ALTERNATION(3)	librgxg	manual	     RGXG_UTILS_ALTERNATION(3)

NAME
       rgxg_utils_alternation  -  create  regex	 that matches any of the given
       patterns

SYNOPSIS
       #include	<rgxg/utils.h>

       int rgxg_utils_alternation (const char **patterns, size_t size,
	    char *regex, rgxg_options_t	options);

DESCRIPTION
       rgxg_utils_alternation()	generates the  (extended)  regular  expression
       that  matches any of the	given patterns,	an array of constant character
       strings.	 size specifies	the number of entries of the array to use  for
       the regular expression. Both patterns and its entries must be valid and
       not NULL	for size>0.

       Note that callers of rgxg_utils_alternation() which pass	a non-constant
       'char  **' value	as patterns need to use	an explicit cast (i.e. '(const
       char**)') to avoid an incompatible pointer type warning.

       The generated regular expression	is written  to	the  character	string
       regex,  including the terminating null byte ('\0'), unless RGXG_NONULL-
       BYTE is set. If regex is	NULL the return	value is the number of charac-
       ters (excluding the terminating null byte) that would have been written
       in case regex has been initialized. Note	that the functions  assume  an
       arbitrarily  long  regex	 string,  callers  must	 ensure	that the given
       string is large enough to not overflow the actual space.

       options is either zero, or the bitwise-or of one	or more	of the follow-
       ing macros:

       RGXG_NOOUTERPARENS
	      Omit the outer parenthesis, if any, of the regular expression.

       RGXG_NONULLBYTE
	      Do not add the terminating null byte ('\0') to the regex string.

RETURN VALUE
       rgxg_utils_alternation()	returns	the number  of	characters  (excluding
       the terminating null byte) written to regex.

AVAILABILITY
       This function is	available since	rgxg 0.1.

SEE ALSO
       regex(7), rgxg_utils_escape_string(3).

AUTHOR
       Hannes von Haugwitz <hannes@vonhaugwitz.com>

rgxg 0.1.2			 Apr 12, 2020	     RGXG_UTILS_ALTERNATION(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=rgxg_utils_alternation&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help