86 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			86 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<html>
 | 
						|
<head>
 | 
						|
<title>pcre2_substitute specification</title>
 | 
						|
</head>
 | 
						|
<body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB">
 | 
						|
<h1>pcre2_substitute man page</h1>
 | 
						|
<p>
 | 
						|
Return to the <a href="index.html">PCRE2 index page</a>.
 | 
						|
</p>
 | 
						|
<p>
 | 
						|
This page is part of the PCRE2 HTML documentation. It was generated
 | 
						|
automatically from the original man page. If there is any nonsense in it,
 | 
						|
please consult the man page, in case the conversion went wrong.
 | 
						|
<br>
 | 
						|
<br><b>
 | 
						|
SYNOPSIS
 | 
						|
</b><br>
 | 
						|
<P>
 | 
						|
<b>#include <pcre2.h></b>
 | 
						|
</P>
 | 
						|
<P>
 | 
						|
<b>int pcre2_substitute(const pcre2_code *<i>code</i>, PCRE2_SPTR <i>subject</i>,</b>
 | 
						|
<b>  PCRE2_SIZE <i>length</i>, PCRE2_SIZE <i>startoffset</i>,</b>
 | 
						|
<b>  uint32_t <i>options</i>, pcre2_match_data *<i>match_data</i>,</b>
 | 
						|
<b>  pcre2_match_context *<i>mcontext</i>, PCRE2_SPTR <i>replacement</i>,</b>
 | 
						|
<b>  PCRE2_SIZE <i>rlength</i>, PCRE2_UCHAR *<i>outputbuffer</i>,</b>
 | 
						|
<b>  PCRE2_SIZE *<i>outlengthptr</i>);</b>
 | 
						|
</P>
 | 
						|
<br><b>
 | 
						|
DESCRIPTION
 | 
						|
</b><br>
 | 
						|
<P>
 | 
						|
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:
 | 
						|
<pre>
 | 
						|
  <i>code</i>          Points to the compiled pattern
 | 
						|
  <i>subject</i>       Points to the subject string
 | 
						|
  <i>length</i>        Length of the subject string
 | 
						|
  <i>startoffset</i>   Offset in the subject at which to start matching
 | 
						|
  <i>options</i>       Option bits
 | 
						|
  <i>match_data</i>    Points to a match data block, or is NULL
 | 
						|
  <i>mcontext</i>      Points to a match context, or is NULL
 | 
						|
  <i>replacement</i>   Points to the replacement string
 | 
						|
  <i>rlength</i>       Length of the replacement string
 | 
						|
  <i>outputbuffer</i>  Points to the output buffer
 | 
						|
  <i>outlengthptr</i>  Points to the length of the output buffer
 | 
						|
</pre>
 | 
						|
A match context is needed only if you want to:
 | 
						|
<pre>
 | 
						|
  Set up a callout function
 | 
						|
  Change the limit for calling the internal function <i>match()</i>
 | 
						|
  Change the limit for calling <i>match()</i> recursively
 | 
						|
  Set custom memory management when the heap is used for recursion
 | 
						|
</pre>
 | 
						|
The <i>length</i>, <i>startoffset</i> and <i>rlength</i> values are code
 | 
						|
units, not characters, as is the contents of the variable pointed at by
 | 
						|
<i>outlengthptr</i>, which is updated to the actual length of the new string.
 | 
						|
The options are:
 | 
						|
<pre>
 | 
						|
  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
 | 
						|
</pre>
 | 
						|
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>
 | 
						|
<P>
 | 
						|
There is a complete description of the PCRE2 native API in the
 | 
						|
<a href="pcre2api.html"><b>pcre2api</b></a>
 | 
						|
page and a description of the POSIX API in the
 | 
						|
<a href="pcre2posix.html"><b>pcre2posix</b></a>
 | 
						|
page.
 | 
						|
<p>
 | 
						|
Return to the <a href="index.html">PCRE2 index page</a>.
 | 
						|
</p>
 |