Lines Matching full:are
24 subject strings to be matched. There are also command lines for setting
30 There are many obscure modifiers, some of which are specifically designed for
31 use in conjunction with the test script and data files that are distributed as
32 part of PCRE2. All the modifiers are documented here, some without much
33 justification, but many of them are unlikely to be of use except when testing
41 strings that are encoded in 8-bit, 16-bit, or 32-bit code units. One, two, or
44 input and output are always in 8-bit format. When testing the 16-bit or 32-bit
45 libraries, patterns and subject strings are converted to 16-bit or 32-bit
46 format before being passed to the library functions. Results are converted back
67 is encountered. By default subject lines are processed for backslash escapes,
68 which makes it possible to include any data value in strings that are passed to
78 generate character code points greater than 255 in the strings that are passed
85 below) is set, the pattern and any following subject lines are interpreted as
138 about the optional features that are included, and then exit with zero exit
139 code. All other options are ignored. If both -C and -LM are present, whichever
213 standard output, then exit with zero exit code. All other options are ignored.
214 If both -C and any -Lx options are present, whichever is first is recognized.
218 output, then exit with zero exit code. All other options are ignored. If both
219 -C and any -Lx options are present, whichever is first is recognized.
223 output, then exit with zero exit code. All other options are ignored. If both
224 -C and any -Lx options are present, whichever is first is recognized.
241 times per compile or match. When JIT is used, separate times are given for the
243 that are used for timing by following \fB-t\fP with a number (as a separate
253 the total times for all compiles and matches are output.
292 buffer is automatically extended if it is too small. There are replication
307 following commands are recognized:
315 which are still supported when PCRE2_UTF is not set, but which require Unicode
319 Unicode property tests are not accidentally added to files that are used when
323 options are not displayed in pattern information, to avoid cluttering up test
344 determines which characters and/or character pairs are recognized as indicating
351 The #newline_default command specifies a list of newline types that are
378 to confirm that Perl gives the same results as PCRE2. Subsequent tests are
379 checked for the use of \fBpcre2test\fP features that are incompatible with the
382 Patterns must use '/' as their delimiter, and only certain modifiers are
384 unset "mark" are recognized and acted on. The #perltest, #forbid_utf, and
385 #newline_default commands, which are needed in the relevant pcre2test files,
386 are silently ignored. All other command lines are ignored, but give a warning
387 message. The \fB#perltest\fP command helps detect tests that are accidentally
394 These commands are used to manipulate the stack of compiled patterns, as
419 Modifier lists are used with both pattern and subject lines. Items in a list
422 and subject lines, whereas others are valid only for one or the other. Each
430 these are written with a slash ("the /i modifier") for clarity. Abbreviated
438 (/i and /g). The lower-case abbreviated modifiers are the same as used in Perl.
450 continued over several input lines, in which case the newline characters are
457 since the delimiters are all non-alphanumeric, the inclusion of the backslash
511 In UTF-16 mode, all 4-digit \ex{hhhh} values are accepted. This makes it
514 In UTF-32 mode, all 4- to 8-digit \ex{...} values are accepted. This makes it
548 that follow are treated as literals, with no special treatment of backslashes.
556 There are several types of modifier that can appear in pattern lines. Except
568 PCRE2_EXTRA are additional options that are set in the compile context.
625 notation. Otherwise, those less than 0x100 are output in hex without the curly
636 about the pattern. There are single-letter abbreviations for some that are
650 hex unquoted characters are hexadecimal
674 The effects of these modifiers are described in the following sections.
685 The \fBnewline\fP modifier specifies which characters are to be interpreted as
708 information is obtained from the \fBpcre2_pattern_info()\fP function. Here are
726 "Compile options" are those specified by modifiers; "overall options" have
727 added options that are taken or deduced from the pattern. If both sets of
728 options are the same, just a single "options" line is output; if there are no
730 if there is more than one they are listed as "starting code units". "Last code
732 not necessarily the last character. These lines are omitted if no starting or
733 ending code units are recorded. The subject length line is omitted when
771 substrings enclosed in single or double quotes, are to be interpreted as pairs
779 Parts of such a pattern are taken literally if quoted. This pattern contains
780 nine characters, only two of which are specified in hexadecimal:
785 the delimiter within a substring. The \fBhex\fP and \fBexpand\fP modifiers are
792 By default, patterns are passed to the compiling functions as zero-terminated
809 Variable lookbehind assertions are supported only if, for each one, there is a
814 length are limited to 65535 characters per branch.
823 can be used. It is mutually exclusive with \fButf\fP. Input lines are
824 interpreted as UTF-8 as a means of specifying wide characters. More details are
836 Some tests use long patterns that are very repetitive. Instead of creating a
848 remain in the pattern unaltered. The \fBexpand\fP and \fBhex\fP modifiers are
871 PCRE2_PARTIAL_HARD and PCRE2_PARTIAL_SOFT are going to be used, because
878 for details of how these options are specified for each match attempt.
883 modes are to be compiled:
889 The possible values for the \fBjit\fP modifier are therefore:
910 run-time options are specified. For more details, see the
919 checks that are done by \fBpcre2_match()\fP, and of course does not work when
944 character tables are mutually exclusive.
1008 ungreedy REG_UNGREEDY ) These options are not part of
1022 below. All other modifiers are either ignored, with a warning message, or cause
1026 default, but if the \fBuse_length\fP or \fBhex\fP modifiers are set, the
1061 In tables 2, some characters whose codes are greater than 128 are identified as
1064 character tables and a locale are mutually exclusive.
1070 The following modifiers are really subject modifiers, and are described under
1072 modifier list, in which case they are applied to every subject line that is
1107 lines that it matches are taken as literal strings, with no interpretation of
1109 that are set as defaults by a \fB#subject\fP command are recognized.
1129 The \fBpush\fP and \fBpushcopy \fP modifiers are incompatible with compilation
1130 modifiers such as \fBglobal\fP that act at match time. Any that are specified
1167 overriding the defaults, which are operating-system dependent.
1175 command are of two types.
1202 The partial matching modifiers are provided with abbreviations because they
1207 that have any effect are \fBnotbol\fP, \fBnotempty\fP, and \fBnoteol\fP,
1209 \fBregexec()\fP. The other modifiers are ignored, with a warning message.
1285 The effects of these modifiers are described in the following sections. When
1288 modifiers are either ignored, with a warning message, or cause an error.
1309 match are indicated in the output by '<' or '>' characters underneath them.
1338 However, these two modifiers are mutually exclusive.
1346 highest one actually used in the match are output (corresponding to the return
1360 result, and also for DFA matching, provides a means of checking that there are
1366 elements are the only ones that should be set. After a DFA match, the amount of
1376 \fBcallout_\fP. Details are given in the section entitled "Callouts"
1430 convenience functions are output with C, G, or L after the string number
1455 individual code units are copied directly. This provides a means of passing an
1487 characters) for substitution tests, as fixed-size buffers are used. To make it
1510 Failed: error -47: no more memory: 10 code units are needed
1524 and output strings are output. For example:
1533 parenthesized number is the number of pairs that are set in the ovector (that
1534 is, one more than the number of capturing groups that were set). Then are
1544 either of them are set, \fBsubstitute_callout\fP is assumed. For example:
1555 If both are set for the same number, stop takes precedence. Only a single skip
1575 the appropriate limits in the match context. These values are ignored when the
1590 is being used, only the match limit is relevant, and the other two are
1596 because \fBpcre2_set_match_limit()\fP etc. are only able to reduce the value of
1681 \fB#subject\fP command. It specifies the number of pairs of offsets that are
1719 pointers are passed as NULL, respectively, to the relevant functions.
1729 functions are described in the
1771 Unset capturing substrings that are not followed by one that is set are not
1773 the following example, there are two capturing substrings, but when the first
1786 If the strings contain any non-printing characters, they are output as \exhh
1858 modifiers that are concerned with captured substrings are not relevant.
1888 works with both matching functions, and with JIT, though there are some
1906 one circumflex is output if the start and current positions are the same, or if
1910 Callouts numbered 255 are assumed to be automatic callouts, inserted as a
1948 string and its offset in the pattern string are output before the reflection of
1971 If the \fBcallout_capture\fP modifier is set, the current captured groups are
1973 \fBpcre2_dfa_match()\fP does not support capturing, so no captures are ever
2043 aborted. If both these modifiers are set for the same callout number,
2066 bytes other than 32-126 are always treated as non-printing characters and are
2083 on which the patterns are reloaded must be running the same version of PCRE2,
2091 The functions whose names begin with \fBpcre2_serialize_\fP are used
2092 for serializing and de-serializing. They are described in the
2109 be compiled and retained. These modifiers are incompatible with \fBposix\fP,
2110 and control modifiers that act at match time are ignored (with a message) for
2119 named file. Afterwards, all the stacked patterns are freed. The command
2126 by lines of subjects that are to be matched with the pattern, terminated as
2134 \fBposix\fP, \fBposix_nosub\fP, \fBpush\fP, and \fBpushcopy\fP are not allowed,
2135 nor are any
2140 The JIT modifiers are, however permitted. Here is an example that saves and