xref: /aosp_15_r20/external/pcre/doc/html/pcre2_jit_match.html (revision 22dc650d8ae982c6770746019a6f94af92b0f024)
1<html>
2<head>
3<title>pcre2_jit_match specification</title>
4</head>
5<body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB">
6<h1>pcre2_jit_match man page</h1>
7<p>
8Return to the <a href="index.html">PCRE2 index page</a>.
9</p>
10<p>
11This page is part of the PCRE2 HTML documentation. It was generated
12automatically from the original man page. If there is any nonsense in it,
13please consult the man page, in case the conversion went wrong.
14<br>
15<br><b>
16SYNOPSIS
17</b><br>
18<P>
19<b>#include &#60;pcre2.h&#62;</b>
20</P>
21<P>
22<b>int pcre2_jit_match(const pcre2_code *<i>code</i>, PCRE2_SPTR <i>subject</i>,</b>
23<b>  PCRE2_SIZE <i>length</i>, PCRE2_SIZE <i>startoffset</i>,</b>
24<b>  uint32_t <i>options</i>, pcre2_match_data *<i>match_data</i>,</b>
25<b>  pcre2_match_context *<i>mcontext</i>);</b>
26</P>
27<br><b>
28DESCRIPTION
29</b><br>
30<P>
31This function matches a compiled regular expression that has been successfully
32processed by the JIT compiler against a given subject string, using a matching
33algorithm that is similar to Perl's. It is a "fast path" interface to JIT, and
34it bypasses some of the sanity checks that <b>pcre2_match()</b> applies.
35</P>
36<P>
37In UTF mode, the subject string is not checked for UTF validity. Unless
38PCRE2_MATCH_INVALID_UTF was set when the pattern was compiled, passing an
39invalid UTF string results in undefined behaviour. Your program may crash or
40loop or give wrong results. In the absence of PCRE2_MATCH_INVALID_UTF you
41should only call <b>pcre2_jit_match()</b> in UTF mode if you are sure the
42subject is valid.
43</P>
44<P>
45The arguments for <b>pcre2_jit_match()</b> are exactly the same as for
46<a href="pcre2_match.html"><b>pcre2_match()</b>,</a>
47except that the subject string must be specified with a length;
48PCRE2_ZERO_TERMINATED is not supported.
49</P>
50<P>
51The supported options are PCRE2_NOTBOL, PCRE2_NOTEOL, PCRE2_NOTEMPTY,
52PCRE2_NOTEMPTY_ATSTART, PCRE2_PARTIAL_HARD, and PCRE2_PARTIAL_SOFT. Unsupported
53options are ignored.
54</P>
55<P>
56The return values are the same as for <b>pcre2_match()</b> plus
57PCRE2_ERROR_JIT_BADOPTION if a matching mode (partial or complete) is requested
58that was not compiled. For details of partial matching, see the
59<a href="pcre2partial.html"><b>pcre2partial</b></a>
60page.
61</P>
62<P>
63There is a complete description of the PCRE2 native API in the
64<a href="pcre2api.html"><b>pcre2api</b></a>
65page and a description of the JIT API in the
66<a href="pcre2jit.html"><b>pcre2jit</b></a>
67page.
68<p>
69Return to the <a href="index.html">PCRE2 index page</a>.
70</p>
71