74 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			74 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
| .TH PCRE2_SUBSTITUTE 3 "11 November 2014" "PCRE2 10.00"
 | |
| .SH NAME
 | |
| PCRE2 - Perl-compatible regular expressions (revised API)
 | |
| .SH SYNOPSIS
 | |
| .rs
 | |
| .sp
 | |
| .B #include <pcre2.h>
 | |
| .PP
 | |
| .nf
 | |
| .B int pcre2_substitute(const pcre2_code *\fIcode\fP, PCRE2_SPTR \fIsubject\fP,
 | |
| .B "  PCRE2_SIZE \fIlength\fP, PCRE2_SIZE \fIstartoffset\fP,"
 | |
| .B "  uint32_t \fIoptions\fP, pcre2_match_data *\fImatch_data\fP,"
 | |
| .B "  pcre2_match_context *\fImcontext\fP, PCRE2_SPTR \fIreplacement\fP,"
 | |
| .B "  PCRE2_SIZE \fIrlength\fP, PCRE2_UCHAR *\fIoutputbuffer\fP,"
 | |
| .B "  PCRE2_SIZE *\fIoutlengthptr\fP);"
 | |
| .fi
 | |
| .
 | |
| .SH DESCRIPTION
 | |
| .rs
 | |
| .sp
 | |
| This function matches a compiled regular expression against a given subject
 | |
| string, using a matching algorithm that is similar to Perl's. It then makes a
 | |
| copy of the subject, substituting a replacement string for what was matched.
 | |
| Its arguments are:
 | |
| .sp
 | |
|   \fIcode\fP          Points to the compiled pattern
 | |
|   \fIsubject\fP       Points to the subject string
 | |
|   \fIlength\fP        Length of the subject string
 | |
|   \fIstartoffset\fP   Offset in the subject at which to start matching
 | |
|   \fIoptions\fP       Option bits
 | |
|   \fImatch_data\fP    Points to a match data block, or is NULL
 | |
|   \fImcontext\fP      Points to a match context, or is NULL
 | |
|   \fIreplacement\fP   Points to the replacement string
 | |
|   \fIrlength\fP       Length of the replacement string
 | |
|   \fIoutputbuffer\fP  Points to the output buffer
 | |
|   \fIoutlengthptr\fP  Points to the length of the output buffer
 | |
| .sp
 | |
| A match context is needed only if you want to:
 | |
| .sp
 | |
|   Set up a callout function
 | |
|   Change the limit for calling the internal function \fImatch()\fP
 | |
|   Change the limit for calling \fImatch()\fP recursively
 | |
|   Set custom memory management when the heap is used for recursion
 | |
| .sp
 | |
| The \fIlength\fP, \fIstartoffset\fP and \fIrlength\fP values are code
 | |
| units, not characters, as is the contents of the variable pointed at by
 | |
| \fIoutlengthptr\fP, which is updated to the actual length of the new string.
 | |
| The options are:
 | |
| .sp
 | |
|   PCRE2_ANCHORED          Match only at the first position
 | |
|   PCRE2_NOTBOL            Subject string is not the beginning of a line
 | |
|   PCRE2_NOTEOL            Subject string is not the end of a line
 | |
|   PCRE2_NOTEMPTY          An empty string is not a valid match
 | |
|   PCRE2_NOTEMPTY_ATSTART  An empty string at the start of the subject
 | |
|                            is not a valid match
 | |
|   PCRE2_NO_UTF_CHECK      Do not check the subject or replacement for
 | |
|                            UTF validity (only relevant if PCRE2_UTF
 | |
|                            was set at compile time)
 | |
|   PCRE2_SUBSTITUTE_GLOBAL Replace all occurrences in the subject
 | |
| .sp
 | |
| The function returns the number of substitutions, which may be zero if there
 | |
| were no matches. The result can be greater than one only when
 | |
| PCRE2_SUBSTITUTE_GLOBAL is set.
 | |
| .P
 | |
| There is a complete description of the PCRE2 native API in the
 | |
| .\" HREF
 | |
| \fBpcre2api\fP
 | |
| .\"
 | |
| page and a description of the POSIX API in the
 | |
| .\" HREF
 | |
| \fBpcre2posix\fP
 | |
| .\"
 | |
| page.
 | 
