new upstream release (3.3.0); modify package compatibility for Stretch
[ossec-hids.git] / src / external / pcre2-10.32 / testdata / testoutput11-16
1 # This set of tests is for the 16-bit and 32-bit libraries' basic (non-UTF)
2 # features that are not compatible with the 8-bit library, or which give
3 # different output in 16-bit or 32-bit mode. The output for the two widths is
4 # different, so they have separate output files.
5     
6 #forbid_utf
7 #newline_default LF ANY ANYCRLF
8
9 /[^\x{c4}]/IB
10 ------------------------------------------------------------------
11         Bra
12         [^\x{c4}]
13         Ket
14         End
15 ------------------------------------------------------------------
16 Capturing subpattern count = 0
17 Subject length lower bound = 1
18   
19 /\x{100}/I
20 Capturing subpattern count = 0
21 First code unit = \x{100}
22 Subject length lower bound = 1
23
24 /  (?: [\040\t] |  \(
25 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
26 \)  )*                          # optional leading comment
27 (?:    (?:
28 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
29 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
30 |
31 " (?:                      # opening quote...
32 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
33 |                     #    or
34 \\ [^\x80-\xff]           #   Escaped something (something != CR)
35 )* "  # closing quote
36 )                    # initial word
37 (?:  (?: [\040\t] |  \(
38 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
39 \)  )*  \.  (?: [\040\t] |  \(
40 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
41 \)  )*   (?:
42 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
43 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
44 |
45 " (?:                      # opening quote...
46 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
47 |                     #    or
48 \\ [^\x80-\xff]           #   Escaped something (something != CR)
49 )* "  # closing quote
50 )  )* # further okay, if led by a period
51 (?: [\040\t] |  \(
52 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
53 \)  )*  @  (?: [\040\t] |  \(
54 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
55 \)  )*    (?:
56 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
57 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
58 |   \[                         # [
59 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
60 \]                        #           ]
61 )                           # initial subdomain
62 (?:                                  #
63 (?: [\040\t] |  \(
64 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
65 \)  )*  \.                        # if led by a period...
66 (?: [\040\t] |  \(
67 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
68 \)  )*   (?:
69 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
70 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
71 |   \[                         # [
72 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
73 \]                        #           ]
74 )                     #   ...further okay
75 )*
76 # address
77 |                     #  or
78 (?:
79 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
80 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
81 |
82 " (?:                      # opening quote...
83 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
84 |                     #    or
85 \\ [^\x80-\xff]           #   Escaped something (something != CR)
86 )* "  # closing quote
87 )             # one word, optionally followed by....
88 (?:
89 [^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037]  |  # atom and space parts, or...
90 \(
91 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
92 \)       |  # comments, or...
93
94 " (?:                      # opening quote...
95 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
96 |                     #    or
97 \\ [^\x80-\xff]           #   Escaped something (something != CR)
98 )* "  # closing quote
99 # quoted strings
100 )*
101 <  (?: [\040\t] |  \(
102 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
103 \)  )*                     # leading <
104 (?:  @  (?: [\040\t] |  \(
105 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
106 \)  )*    (?:
107 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
108 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
109 |   \[                         # [
110 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
111 \]                        #           ]
112 )                           # initial subdomain
113 (?:                                  #
114 (?: [\040\t] |  \(
115 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
116 \)  )*  \.                        # if led by a period...
117 (?: [\040\t] |  \(
118 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
119 \)  )*   (?:
120 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
121 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
122 |   \[                         # [
123 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
124 \]                        #           ]
125 )                     #   ...further okay
126 )*
127
128 (?:  (?: [\040\t] |  \(
129 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
130 \)  )*  ,  (?: [\040\t] |  \(
131 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
132 \)  )*  @  (?: [\040\t] |  \(
133 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
134 \)  )*    (?:
135 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
136 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
137 |   \[                         # [
138 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
139 \]                        #           ]
140 )                           # initial subdomain
141 (?:                                  #
142 (?: [\040\t] |  \(
143 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
144 \)  )*  \.                        # if led by a period...
145 (?: [\040\t] |  \(
146 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
147 \)  )*   (?:
148 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
149 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
150 |   \[                         # [
151 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
152 \]                        #           ]
153 )                     #   ...further okay
154 )*
155 )* # further okay, if led by comma
156 :                                # closing colon
157 (?: [\040\t] |  \(
158 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
159 \)  )*  )? #       optional route
160 (?:
161 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
162 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
163 |
164 " (?:                      # opening quote...
165 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
166 |                     #    or
167 \\ [^\x80-\xff]           #   Escaped something (something != CR)
168 )* "  # closing quote
169 )                    # initial word
170 (?:  (?: [\040\t] |  \(
171 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
172 \)  )*  \.  (?: [\040\t] |  \(
173 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
174 \)  )*   (?:
175 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
176 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
177 |
178 " (?:                      # opening quote...
179 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
180 |                     #    or
181 \\ [^\x80-\xff]           #   Escaped something (something != CR)
182 )* "  # closing quote
183 )  )* # further okay, if led by a period
184 (?: [\040\t] |  \(
185 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
186 \)  )*  @  (?: [\040\t] |  \(
187 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
188 \)  )*    (?:
189 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
190 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
191 |   \[                         # [
192 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
193 \]                        #           ]
194 )                           # initial subdomain
195 (?:                                  #
196 (?: [\040\t] |  \(
197 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
198 \)  )*  \.                        # if led by a period...
199 (?: [\040\t] |  \(
200 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
201 \)  )*   (?:
202 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
203 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
204 |   \[                         # [
205 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
206 \]                        #           ]
207 )                     #   ...further okay
208 )*
209 #       address spec
210 (?: [\040\t] |  \(
211 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
212 \)  )*  > #                  trailing >
213 # name and address
214 )  (?: [\040\t] |  \(
215 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
216 \)  )*                       # optional trailing comment
217 /Ix
218 Capturing subpattern count = 0
219 Contains explicit CR or LF match
220 Options: extended
221 Starting code units: \x09 \x20 ! " # $ % & ' ( * + - / 0 1 2 3 4 5 6 7 8 
222   9 = ? A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ^ _ ` a b c d e 
223   f g h i j k l m n o p q r s t u v w x y z { | } ~ \x7f \xff 
224 Subject length lower bound = 3
225
226 /[\h]/B
227 ------------------------------------------------------------------
228         Bra
229         [\x09 \xa0\x{1680}\x{180e}\x{2000}-\x{200a}\x{202f}\x{205f}\x{3000}]
230         Ket
231         End
232 ------------------------------------------------------------------
233     >\x09<
234  0: \x09
235
236 /[\h]+/B
237 ------------------------------------------------------------------
238         Bra
239         [\x09 \xa0\x{1680}\x{180e}\x{2000}-\x{200a}\x{202f}\x{205f}\x{3000}]++
240         Ket
241         End
242 ------------------------------------------------------------------
243     >\x09\x20\xa0<
244  0: \x09 \xa0
245
246 /[\v]/B
247 ------------------------------------------------------------------
248         Bra
249         [\x0a-\x0d\x85\x{2028}-\x{2029}]
250         Ket
251         End
252 ------------------------------------------------------------------
253
254 /[^\h]/B
255 ------------------------------------------------------------------
256         Bra
257         [^\x09 \xa0\x{1680}\x{180e}\x{2000}-\x{200a}\x{202f}\x{205f}\x{3000}]
258         Ket
259         End
260 ------------------------------------------------------------------
261
262 /\h+/I
263 Capturing subpattern count = 0
264 Starting code units: \x09 \x20 \xa0 \xff 
265 Subject length lower bound = 1
266     \x{1681}\x{200b}\x{1680}\x{2000}\x{202f}\x{3000}
267  0: \x{1680}\x{2000}\x{202f}\x{3000}
268     \x{3001}\x{2fff}\x{200a}\xa0\x{2000}
269  0: \x{200a}\xa0\x{2000}
270
271 /[\h\x{dc00}]+/IB
272 ------------------------------------------------------------------
273         Bra
274         [\x09 \xa0\x{1680}\x{180e}\x{2000}-\x{200a}\x{202f}\x{205f}\x{3000}\x{dc00}]++
275         Ket
276         End
277 ------------------------------------------------------------------
278 Capturing subpattern count = 0
279 Starting code units: \x09 \x20 \xa0 \xff 
280 Subject length lower bound = 1
281     \x{1681}\x{200b}\x{1680}\x{2000}\x{202f}\x{3000}
282  0: \x{1680}\x{2000}\x{202f}\x{3000}
283     \x{3001}\x{2fff}\x{200a}\xa0\x{2000}
284  0: \x{200a}\xa0\x{2000}
285
286 /\H+/I
287 Capturing subpattern count = 0
288 Subject length lower bound = 1
289     \x{1680}\x{180e}\x{167f}\x{1681}\x{180d}\x{180f}
290  0: \x{167f}\x{1681}\x{180d}\x{180f}
291     \x{2000}\x{200a}\x{1fff}\x{200b}
292  0: \x{1fff}\x{200b}
293     \x{202f}\x{205f}\x{202e}\x{2030}\x{205e}\x{2060}
294  0: \x{202e}\x{2030}\x{205e}\x{2060}
295     \xa0\x{3000}\x9f\xa1\x{2fff}\x{3001}
296  0: \x9f\xa1\x{2fff}\x{3001}
297
298 /[\H\x{d800}]+/
299     \x{1680}\x{180e}\x{167f}\x{1681}\x{180d}\x{180f}
300  0: \x{167f}\x{1681}\x{180d}\x{180f}
301     \x{2000}\x{200a}\x{1fff}\x{200b}
302  0: \x{1fff}\x{200b}
303     \x{202f}\x{205f}\x{202e}\x{2030}\x{205e}\x{2060}
304  0: \x{202e}\x{2030}\x{205e}\x{2060}
305     \xa0\x{3000}\x9f\xa1\x{2fff}\x{3001}
306  0: \x9f\xa1\x{2fff}\x{3001}
307
308 /\v+/I
309 Capturing subpattern count = 0
310 Starting code units: \x0a \x0b \x0c \x0d \x85 \xff 
311 Subject length lower bound = 1
312     \x{2027}\x{2030}\x{2028}\x{2029}
313  0: \x{2028}\x{2029}
314     \x09\x0e\x84\x86\x85\x0a\x0b\x0c\x0d
315  0: \x85\x0a\x0b\x0c\x0d
316
317 /[\v\x{dc00}]+/IB
318 ------------------------------------------------------------------
319         Bra
320         [\x0a-\x0d\x85\x{2028}-\x{2029}\x{dc00}]++
321         Ket
322         End
323 ------------------------------------------------------------------
324 Capturing subpattern count = 0
325 Starting code units: \x0a \x0b \x0c \x0d \x85 \xff 
326 Subject length lower bound = 1
327     \x{2027}\x{2030}\x{2028}\x{2029}
328  0: \x{2028}\x{2029}
329     \x09\x0e\x84\x86\x85\x0a\x0b\x0c\x0d
330  0: \x85\x0a\x0b\x0c\x0d
331
332 /\V+/I
333 Capturing subpattern count = 0
334 Subject length lower bound = 1
335     \x{2028}\x{2029}\x{2027}\x{2030}
336  0: \x{2027}\x{2030}
337     \x85\x0a\x0b\x0c\x0d\x09\x0e\x84\x86
338  0: \x09\x0e\x84\x86
339
340 /[\V\x{d800}]+/
341     \x{2028}\x{2029}\x{2027}\x{2030}
342  0: \x{2027}\x{2030}
343     \x85\x0a\x0b\x0c\x0d\x09\x0e\x84\x86
344  0: \x09\x0e\x84\x86
345
346 /\R+/I,bsr=unicode
347 Capturing subpattern count = 0
348 \R matches any Unicode newline
349 Starting code units: \x0a \x0b \x0c \x0d \x85 \xff 
350 Subject length lower bound = 1
351     \x{2027}\x{2030}\x{2028}\x{2029}
352  0: \x{2028}\x{2029}
353     \x09\x0e\x84\x86\x85\x0a\x0b\x0c\x0d
354  0: \x85\x0a\x0b\x0c\x0d
355
356 /\x{d800}\x{d7ff}\x{dc00}\x{dc00}\x{dcff}\x{dd00}/I
357 Capturing subpattern count = 0
358 First code unit = \x{d800}
359 Last code unit = \x{dd00}
360 Subject length lower bound = 6
361     \x{d800}\x{d7ff}\x{dc00}\x{dc00}\x{dcff}\x{dd00}
362  0: \x{d800}\x{d7ff}\x{dc00}\x{dc00}\x{dcff}\x{dd00}
363
364 /[^\x{80}][^\x{ff}][^\x{100}][^\x{1000}][^\x{ffff}]/B
365 ------------------------------------------------------------------
366         Bra
367         [^\x{80}]
368         [^\x{ff}]
369         [^\x{100}]
370         [^\x{1000}]
371         [^\x{ffff}]
372         Ket
373         End
374 ------------------------------------------------------------------
375
376 /[^\x{80}][^\x{ff}][^\x{100}][^\x{1000}][^\x{ffff}]/Bi
377 ------------------------------------------------------------------
378         Bra
379      /i [^\x{80}]
380      /i [^\x{ff}]
381      /i [^\x{100}]
382      /i [^\x{1000}]
383      /i [^\x{ffff}]
384         Ket
385         End
386 ------------------------------------------------------------------
387
388 /[^\x{100}]*[^\x{1000}]+[^\x{ffff}]??[^\x{8000}]{4,}[^\x{7fff}]{2,9}?[^\x{100}]{5,6}+/B
389 ------------------------------------------------------------------
390         Bra
391         [^\x{100}]*
392         [^\x{1000}]+
393         [^\x{ffff}]??
394         [^\x{8000}]{4}
395         [^\x{8000}]*
396         [^\x{7fff}]{2}
397         [^\x{7fff}]{0,7}?
398         [^\x{100}]{5}
399         [^\x{100}]?+
400         Ket
401         End
402 ------------------------------------------------------------------
403
404 /[^\x{100}]*[^\x{1000}]+[^\x{ffff}]??[^\x{8000}]{4,}[^\x{7fff}]{2,9}?[^\x{100}]{5,6}+/Bi
405 ------------------------------------------------------------------
406         Bra
407      /i [^\x{100}]*
408      /i [^\x{1000}]+
409      /i [^\x{ffff}]??
410      /i [^\x{8000}]{4}
411      /i [^\x{8000}]*
412      /i [^\x{7fff}]{2}
413      /i [^\x{7fff}]{0,7}?
414      /i [^\x{100}]{5}
415      /i [^\x{100}]?+
416         Ket
417         End
418 ------------------------------------------------------------------
419
420 /(*:0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF)XX/mark
421     XX
422  0: XX
423 MK: 0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF
424      
425 /(*:0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE)XX/mark
426     XX
427  0: XX
428 MK: 0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE
429
430 /\u0100/B,alt_bsux,allow_empty_class,match_unset_backref
431 ------------------------------------------------------------------
432         Bra
433         \x{100}
434         Ket
435         End
436 ------------------------------------------------------------------
437
438 /[\u0100-\u0200]/B,alt_bsux,allow_empty_class,match_unset_backref
439 ------------------------------------------------------------------
440         Bra
441         [\x{100}-\x{200}]
442         Ket
443         End
444 ------------------------------------------------------------------
445
446 /\ud800/B,alt_bsux,allow_empty_class,match_unset_backref
447 ------------------------------------------------------------------
448         Bra
449         \x{d800}
450         Ket
451         End
452 ------------------------------------------------------------------
453
454 /^\x{ffff}+/i
455     \x{ffff}
456  0: \x{ffff}
457
458 /^\x{ffff}?/i
459     \x{ffff}
460  0: \x{ffff}
461
462 /^\x{ffff}*/i
463     \x{ffff}
464  0: \x{ffff}
465
466 /^\x{ffff}{3}/i
467     \x{ffff}\x{ffff}\x{ffff}
468  0: \x{ffff}\x{ffff}\x{ffff}
469
470 /^\x{ffff}{0,3}/i
471     \x{ffff}
472  0: \x{ffff}
473
474 /[^\x00-a]{12,}[^b-\xff]*/B
475 ------------------------------------------------------------------
476         Bra
477         [b-\xff] (neg){12,}
478         [\x00-a] (neg)*+
479         Ket
480         End
481 ------------------------------------------------------------------
482
483 /[^\s]*\s* [^\W]+\W+ [^\d]*?\d0 [^\d\w]{4,6}?\w*A/B
484 ------------------------------------------------------------------
485         Bra
486         [\x00-\x08\x0e-\x1f!-\xff] (neg)*
487         \s*
488          
489         [0-9A-Z_a-z]++
490         \W+
491          
492         [\x00-/:-\xff] (neg)*?
493         \d
494         0 
495         [\x00-/:-@[-^`{-\xff] (neg){4,6}?
496         \w*
497         A
498         Ket
499         End
500 ------------------------------------------------------------------
501
502 /a*[b-\x{200}]?a#a*[b-\x{200}]?b#[a-f]*[g-\x{200}]*#[g-\x{200}]*[a-c]*#[g-\x{200}]*[a-h]*/B
503 ------------------------------------------------------------------
504         Bra
505         a*
506         [b-\xff\x{100}-\x{200}]?+
507         a#
508         a*+
509         [b-\xff\x{100}-\x{200}]?
510         b#
511         [a-f]*+
512         [g-\xff\x{100}-\x{200}]*+
513         #
514         [g-\xff\x{100}-\x{200}]*+
515         [a-c]*+
516         #
517         [g-\xff\x{100}-\x{200}]*
518         [a-h]*+
519         Ket
520         End
521 ------------------------------------------------------------------
522
523 /^[\x{1234}\x{4321}]{2,4}?/
524     \x{1234}\x{1234}\x{1234}
525  0: \x{1234}\x{1234}
526
527 # Check maximum non-UTF character size for the 16-bit library.
528
529 /\x{ffff}/
530     A\x{ffff}B
531  0: \x{ffff}
532
533 /\x{10000}/
534 Failed: error 134 at offset 8: character code point value in \x{} or \o{} is too large
535
536 /\o{20000}/
537
538 # Check maximum character size for the 32-bit library. These will all give
539 # errors in the 16-bit library.
540
541 /\x{110000}/
542 Failed: error 134 at offset 9: character code point value in \x{} or \o{} is too large
543
544 /\x{7fffffff}/
545 Failed: error 134 at offset 11: character code point value in \x{} or \o{} is too large
546
547 /\x{80000000}/
548 Failed: error 134 at offset 11: character code point value in \x{} or \o{} is too large
549
550 /\x{ffffffff}/
551 Failed: error 134 at offset 11: character code point value in \x{} or \o{} is too large
552
553 /\x{100000000}/
554 Failed: error 134 at offset 12: character code point value in \x{} or \o{} is too large
555
556 /\o{17777777777}/
557 Failed: error 134 at offset 14: character code point value in \x{} or \o{} is too large
558
559 /\o{20000000000}/
560 Failed: error 134 at offset 14: character code point value in \x{} or \o{} is too large
561
562 /\o{37777777777}/
563 Failed: error 134 at offset 14: character code point value in \x{} or \o{} is too large
564
565 /\o{40000000000}/
566 Failed: error 134 at offset 14: character code point value in \x{} or \o{} is too large
567
568 /\x{7fffffff}\x{7fffffff}/I
569 Failed: error 134 at offset 11: character code point value in \x{} or \o{} is too large
570
571 /\x{80000000}\x{80000000}/I
572 Failed: error 134 at offset 11: character code point value in \x{} or \o{} is too large
573
574 /\x{ffffffff}\x{ffffffff}/I
575 Failed: error 134 at offset 11: character code point value in \x{} or \o{} is too large
576
577 # Non-UTF characters 
578
579 /.{2,3}/
580     \x{400000}\x{400001}\x{400002}\x{400003}
581 ** Character \x{400000} is greater than 0xffff and UTF-16 mode is not enabled.
582 ** Truncation will probably give the wrong result.
583 ** Character \x{400001} is greater than 0xffff and UTF-16 mode is not enabled.
584 ** Truncation will probably give the wrong result.
585 ** Character \x{400002} is greater than 0xffff and UTF-16 mode is not enabled.
586 ** Truncation will probably give the wrong result.
587 ** Character \x{400003} is greater than 0xffff and UTF-16 mode is not enabled.
588 ** Truncation will probably give the wrong result.
589  0: \x00\x01\x02
590
591 /\x{400000}\x{800000}/IBi
592 Failed: error 134 at offset 9: character code point value in \x{} or \o{} is too large
593
594 # Check character ranges 
595
596 /[\H]/IB
597 ------------------------------------------------------------------
598         Bra
599         [\x00-\x08\x0a-\x1f!-\x9f\xa1-\xff\x{100}-\x{167f}\x{1681}-\x{180d}\x{180f}-\x{1fff}\x{200b}-\x{202e}\x{2030}-\x{205e}\x{2060}-\x{2fff}\x{3001}-\x{ffff}]
600         Ket
601         End
602 ------------------------------------------------------------------
603 Capturing subpattern count = 0
604 Starting code units: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x0a \x0b 
605   \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 \x1a 
606   \x1b \x1c \x1d \x1e \x1f ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 
607   : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ 
608   _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ \x7f \x80 
609   \x81 \x82 \x83 \x84 \x85 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f 
610   \x90 \x91 \x92 \x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e 
611   \x9f \xa1 \xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae 
612   \xaf \xb0 \xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd 
613   \xbe \xbf \xc0 \xc1 \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc 
614   \xcd \xce \xcf \xd0 \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb 
615   \xdc \xdd \xde \xdf \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea 
616   \xeb \xec \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 
617   \xfa \xfb \xfc \xfd \xfe \xff 
618 Subject length lower bound = 1
619
620 /[\V]/IB
621 ------------------------------------------------------------------
622         Bra
623         [\x00-\x09\x0e-\x84\x86-\xff\x{100}-\x{2027}\x{202a}-\x{ffff}]
624         Ket
625         End
626 ------------------------------------------------------------------
627 Capturing subpattern count = 0
628 Starting code units: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0e 
629   \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 \x1a \x1b \x1c \x1d 
630   \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > 
631   ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c 
632   d e f g h i j k l m n o p q r s t u v w x y z { | } ~ \x7f \x80 \x81 \x82 
633   \x83 \x84 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f \x90 \x91 \x92 
634   \x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e \x9f \xa0 \xa1 
635   \xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae \xaf \xb0 
636   \xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd \xbe \xbf 
637   \xc0 \xc1 \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce 
638   \xcf \xd0 \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd 
639   \xde \xdf \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec 
640   \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb 
641   \xfc \xfd \xfe \xff 
642 Subject length lower bound = 1
643
644 /(*THEN:\[A]{65501})/expand
645
646 # We can use pcre2test's utf8_input modifier to create wide pattern characters,
647 # even though this test is run when UTF is not supported.
648
649 /abý¿¿¿¿¿z/utf8_input
650 ** Failed: character value greater than 0xffff cannot be converted to 16-bit in non-UTF mode
651     abý¿¿¿¿¿z
652     ab\x{7fffffff}z
653
654 /abÿý¿¿¿¿¿z/utf8_input
655 ** Failed: invalid UTF-8 string cannot be converted to 16-bit string
656     abÿý¿¿¿¿¿z
657     ab\x{ffffffff}z 
658
659 /abÿAz/utf8_input
660 ** Failed: invalid UTF-8 string cannot be converted to 16-bit string
661     abÿAz
662     ab\x{80000041}z 
663
664 # End of testinput11