• Home
  • Raw
  • Download

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 if a binary zero is encountered. By default subject lines are processed for
69 that are passed to the library for matching. For patterns, there is a facility
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. For the
569 main options, there are some single-letter abbreviations that are the same as
619 notation. Otherwise, those less than 0x100 are output in hex without the curly
630 about the pattern. There are single-letter abbreviations for some that are
644 hex unquoted characters are hexadecimal
664 The effects of these modifiers are described in the following sections.
675 The \fBnewline\fP modifier specifies which characters are to be interpreted as
698 information is obtained from the \fBpcre2_pattern_info()\fP function. Here are
716 "Compile options" are those specified by modifiers; "overall options" have
717 added options that are taken or deduced from the pattern. If both sets of
718 options are the same, just a single "options" line is output; if there are no
720 if there is more than one they are listed as "starting code units". "Last code
722 not necessarily the last character. These lines are omitted if no starting or
723 ending code units are recorded. The subject length line is omitted when
750 substrings enclosed in single or double quotes, are to be interpreted as pairs
758 Parts of such a pattern are taken literally if quoted. This pattern contains
759 nine characters, only two of which are specified in hexadecimal:
764 the delimiter within a substring. The \fBhex\fP and \fBexpand\fP modifiers are
771 By default, patterns are passed to the compiling functions as zero-terminated
791 can be used. It is mutually exclusive with \fButf\fP. Input lines are
792 interpreted as UTF-8 as a means of specifying wide characters. More details are
804 Some tests use long patterns that are very repetitive. Instead of creating a
816 remain in the pattern unaltered. The \fBexpand\fP and \fBhex\fP modifiers are
839 PCRE2_PARTIAL_HARD and PCRE2_PARTIAL_SOFT are going to be used, because
846 for details of how these options are specified for each match attempt.
851 modes are to be compiled:
857 The possible values for the \fBjit\fP modifier are therefore:
878 run-time options are specified. For more details, see the
887 checks that are done by \fBpcre2_match()\fP, and of course does not work when
912 character tables are mutually exclusive.
967 ungreedy REG_UNGREEDY ) These options are not part of
981 below. All other modifiers are either ignored, with a warning message, or cause
985 default, but if the \fBuse_length\fP or \fBhex\fP modifiers are set, the
1020 In tables 2, some characters whose codes are greater than 128 are identified as
1023 character tables and a locale are mutually exclusive.
1029 The following modifiers are really subject modifiers, and are described under
1031 modifier list, in which case they are applied to every subject line that is
1065 lines that it matches are taken as literal strings, with no interpretation of
1067 that are set as defaults by a \fB#subject\fP command are recognized.
1087 The \fBpush\fP and \fBpushcopy \fP modifiers are incompatible with compilation
1088 modifiers such as \fBglobal\fP that act at match time. Any that are specified
1125 overriding the defaults, which are operating-system dependent.
1133 command are of two types.
1159 The partial matching modifiers are provided with abbreviations because they
1164 that have any effect are \fBnotbol\fP, \fBnotempty\fP, and \fBnoteol\fP,
1166 \fBregexec()\fP. The other modifiers are ignored, with a warning message.
1241 The effects of these modifiers are described in the following sections. When
1244 modifiers are either ignored, with a warning message, or cause an error.
1265 match are indicated in the output by '<' or '>' characters underneath them.
1294 However, these two modifiers are mutually exclusive.
1302 highest one actually used in the match are output (corresponding to the return
1316 result, and also for DFA matching, provides a means of checking that there are
1322 elements are the only ones that should be set. After a DFA match, the amount of
1332 \fBcallout_\fP. Details are given in the section entitled "Callouts"
1386 convenience functions are output with C, G, or L after the string number
1411 individual code units are copied directly. This provides a means of passing an
1443 characters) for substitution tests, as fixed-size buffers are used. To make it
1466 Failed: error -47: no more memory: 10 code units are needed
1480 and output strings are output. For example:
1489 parenthesized number is the number of pairs that are set in the ovector (that
1490 is, one more than the number of capturing groups that were set). Then are
1500 either of them are set, \fBsubstitute_callout\fP is assumed. For example:
1511 If both are set for the same number, stop takes precedence. Only a single skip
1531 the appropriate limits in the match context. These values are ignored when the
1546 is being used, only the match limit is relevant, and the other two are
1552 because \fBpcre2_set_match_limit()\fP etc. are only able to reduce the value of
1620 \fB#subject\fP command. It specifies the number of pairs of offsets that are
1658 pointers are passed as NULL, respectively, to the relevant functions.
1668 functions are described in the
1710 Unset capturing substrings that are not followed by one that is set are not
1712 the following example, there are two capturing substrings, but when the first
1725 If the strings contain any non-printing characters, they are output as \exhh
1798 modifiers that are concerned with captured substrings are not relevant.
1828 works with both matching functions, and with JIT, though there are some
1846 one circumflex is output if the start and current positions are the same, or if
1850 Callouts numbered 255 are assumed to be automatic callouts, inserted as a
1888 string and its offset in the pattern string are output before the reflection of
1911 If the \fBcallout_capture\fP modifier is set, the current captured groups are
1913 \fBpcre2_dfa_match()\fP does not support capturing, so no captures are ever
1983 aborted. If both these modifiers are set for the same callout number,
2006 bytes other than 32-126 are always treated as non-printing characters and are
2023 on which the patterns are reloaded must be running the same version of PCRE2,
2031 The functions whose names begin with \fBpcre2_serialize_\fP are used
2032 for serializing and de-serializing. They are described in the
2049 be compiled and retained. These modifiers are incompatible with \fBposix\fP,
2050 and control modifiers that act at match time are ignored (with a message) for
2059 named file. Afterwards, all the stacked patterns are freed. The command
2066 by lines of subjects that are to be matched with the pattern, terminated as
2074 \fBposix\fP, \fBposix_nosub\fP, \fBpush\fP, and \fBpushcopy\fP are not allowed,
2075 nor are any
2080 The JIT modifiers are, however permitted. Here is an example that saves and