new upstream release (3.3.0); modify package compatibility for Stretch
[ossec-hids.git] / src / external / pcre2-10.32 / testdata / testinput11
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 /\x{100}/I
12
13 /  (?: [\040\t] |  \(
14 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
15 \)  )*                          # optional leading comment
16 (?:    (?:
17 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
18 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
19 |
20 " (?:                      # opening quote...
21 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
22 |                     #    or
23 \\ [^\x80-\xff]           #   Escaped something (something != CR)
24 )* "  # closing quote
25 )                    # initial word
26 (?:  (?: [\040\t] |  \(
27 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
28 \)  )*  \.  (?: [\040\t] |  \(
29 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
30 \)  )*   (?:
31 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
32 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
33 |
34 " (?:                      # opening quote...
35 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
36 |                     #    or
37 \\ [^\x80-\xff]           #   Escaped something (something != CR)
38 )* "  # closing quote
39 )  )* # further okay, if led by a period
40 (?: [\040\t] |  \(
41 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
42 \)  )*  @  (?: [\040\t] |  \(
43 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
44 \)  )*    (?:
45 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
46 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
47 |   \[                         # [
48 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
49 \]                        #           ]
50 )                           # initial subdomain
51 (?:                                  #
52 (?: [\040\t] |  \(
53 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
54 \)  )*  \.                        # if led by a period...
55 (?: [\040\t] |  \(
56 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
57 \)  )*   (?:
58 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
59 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
60 |   \[                         # [
61 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
62 \]                        #           ]
63 )                     #   ...further okay
64 )*
65 # address
66 |                     #  or
67 (?:
68 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
69 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
70 |
71 " (?:                      # opening quote...
72 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
73 |                     #    or
74 \\ [^\x80-\xff]           #   Escaped something (something != CR)
75 )* "  # closing quote
76 )             # one word, optionally followed by....
77 (?:
78 [^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037]  |  # atom and space parts, or...
79 \(
80 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
81 \)       |  # comments, or...
82
83 " (?:                      # opening quote...
84 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
85 |                     #    or
86 \\ [^\x80-\xff]           #   Escaped something (something != CR)
87 )* "  # closing quote
88 # quoted strings
89 )*
90 <  (?: [\040\t] |  \(
91 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
92 \)  )*                     # leading <
93 (?:  @  (?: [\040\t] |  \(
94 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
95 \)  )*    (?:
96 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
97 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
98 |   \[                         # [
99 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
100 \]                        #           ]
101 )                           # initial subdomain
102 (?:                                  #
103 (?: [\040\t] |  \(
104 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
105 \)  )*  \.                        # if led by a period...
106 (?: [\040\t] |  \(
107 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
108 \)  )*   (?:
109 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
110 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
111 |   \[                         # [
112 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
113 \]                        #           ]
114 )                     #   ...further okay
115 )*
116
117 (?:  (?: [\040\t] |  \(
118 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
119 \)  )*  ,  (?: [\040\t] |  \(
120 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
121 \)  )*  @  (?: [\040\t] |  \(
122 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
123 \)  )*    (?:
124 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
125 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
126 |   \[                         # [
127 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
128 \]                        #           ]
129 )                           # initial subdomain
130 (?:                                  #
131 (?: [\040\t] |  \(
132 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
133 \)  )*  \.                        # if led by a period...
134 (?: [\040\t] |  \(
135 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
136 \)  )*   (?:
137 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
138 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
139 |   \[                         # [
140 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
141 \]                        #           ]
142 )                     #   ...further okay
143 )*
144 )* # further okay, if led by comma
145 :                                # closing colon
146 (?: [\040\t] |  \(
147 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
148 \)  )*  )? #       optional route
149 (?:
150 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
151 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
152 |
153 " (?:                      # opening quote...
154 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
155 |                     #    or
156 \\ [^\x80-\xff]           #   Escaped something (something != CR)
157 )* "  # closing quote
158 )                    # initial word
159 (?:  (?: [\040\t] |  \(
160 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
161 \)  )*  \.  (?: [\040\t] |  \(
162 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
163 \)  )*   (?:
164 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
165 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
166 |
167 " (?:                      # opening quote...
168 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
169 |                     #    or
170 \\ [^\x80-\xff]           #   Escaped something (something != CR)
171 )* "  # closing quote
172 )  )* # further okay, if led by a period
173 (?: [\040\t] |  \(
174 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
175 \)  )*  @  (?: [\040\t] |  \(
176 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
177 \)  )*    (?:
178 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
179 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
180 |   \[                         # [
181 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
182 \]                        #           ]
183 )                           # initial subdomain
184 (?:                                  #
185 (?: [\040\t] |  \(
186 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
187 \)  )*  \.                        # if led by a period...
188 (?: [\040\t] |  \(
189 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
190 \)  )*   (?:
191 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
192 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
193 |   \[                         # [
194 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
195 \]                        #           ]
196 )                     #   ...further okay
197 )*
198 #       address spec
199 (?: [\040\t] |  \(
200 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
201 \)  )*  > #                  trailing >
202 # name and address
203 )  (?: [\040\t] |  \(
204 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
205 \)  )*                       # optional trailing comment
206 /Ix
207
208 /[\h]/B
209     >\x09<
210
211 /[\h]+/B
212     >\x09\x20\xa0<
213
214 /[\v]/B
215
216 /[^\h]/B
217
218 /\h+/I
219     \x{1681}\x{200b}\x{1680}\x{2000}\x{202f}\x{3000}
220     \x{3001}\x{2fff}\x{200a}\xa0\x{2000}
221
222 /[\h\x{dc00}]+/IB
223     \x{1681}\x{200b}\x{1680}\x{2000}\x{202f}\x{3000}
224     \x{3001}\x{2fff}\x{200a}\xa0\x{2000}
225
226 /\H+/I
227     \x{1680}\x{180e}\x{167f}\x{1681}\x{180d}\x{180f}
228     \x{2000}\x{200a}\x{1fff}\x{200b}
229     \x{202f}\x{205f}\x{202e}\x{2030}\x{205e}\x{2060}
230     \xa0\x{3000}\x9f\xa1\x{2fff}\x{3001}
231
232 /[\H\x{d800}]+/
233     \x{1680}\x{180e}\x{167f}\x{1681}\x{180d}\x{180f}
234     \x{2000}\x{200a}\x{1fff}\x{200b}
235     \x{202f}\x{205f}\x{202e}\x{2030}\x{205e}\x{2060}
236     \xa0\x{3000}\x9f\xa1\x{2fff}\x{3001}
237
238 /\v+/I
239     \x{2027}\x{2030}\x{2028}\x{2029}
240     \x09\x0e\x84\x86\x85\x0a\x0b\x0c\x0d
241
242 /[\v\x{dc00}]+/IB
243     \x{2027}\x{2030}\x{2028}\x{2029}
244     \x09\x0e\x84\x86\x85\x0a\x0b\x0c\x0d
245
246 /\V+/I
247     \x{2028}\x{2029}\x{2027}\x{2030}
248     \x85\x0a\x0b\x0c\x0d\x09\x0e\x84\x86
249
250 /[\V\x{d800}]+/
251     \x{2028}\x{2029}\x{2027}\x{2030}
252     \x85\x0a\x0b\x0c\x0d\x09\x0e\x84\x86
253
254 /\R+/I,bsr=unicode
255     \x{2027}\x{2030}\x{2028}\x{2029}
256     \x09\x0e\x84\x86\x85\x0a\x0b\x0c\x0d
257
258 /\x{d800}\x{d7ff}\x{dc00}\x{dc00}\x{dcff}\x{dd00}/I
259     \x{d800}\x{d7ff}\x{dc00}\x{dc00}\x{dcff}\x{dd00}
260
261 /[^\x{80}][^\x{ff}][^\x{100}][^\x{1000}][^\x{ffff}]/B
262
263 /[^\x{80}][^\x{ff}][^\x{100}][^\x{1000}][^\x{ffff}]/Bi
264
265 /[^\x{100}]*[^\x{1000}]+[^\x{ffff}]??[^\x{8000}]{4,}[^\x{7fff}]{2,9}?[^\x{100}]{5,6}+/B
266
267 /[^\x{100}]*[^\x{1000}]+[^\x{ffff}]??[^\x{8000}]{4,}[^\x{7fff}]{2,9}?[^\x{100}]{5,6}+/Bi
268
269 /(*:0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF)XX/mark
270     XX
271      
272 /(*:0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE)XX/mark
273     XX
274
275 /\u0100/B,alt_bsux,allow_empty_class,match_unset_backref
276
277 /[\u0100-\u0200]/B,alt_bsux,allow_empty_class,match_unset_backref
278
279 /\ud800/B,alt_bsux,allow_empty_class,match_unset_backref
280
281 /^\x{ffff}+/i
282     \x{ffff}
283
284 /^\x{ffff}?/i
285     \x{ffff}
286
287 /^\x{ffff}*/i
288     \x{ffff}
289
290 /^\x{ffff}{3}/i
291     \x{ffff}\x{ffff}\x{ffff}
292
293 /^\x{ffff}{0,3}/i
294     \x{ffff}
295
296 /[^\x00-a]{12,}[^b-\xff]*/B
297
298 /[^\s]*\s* [^\W]+\W+ [^\d]*?\d0 [^\d\w]{4,6}?\w*A/B
299
300 /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
301
302 /^[\x{1234}\x{4321}]{2,4}?/
303     \x{1234}\x{1234}\x{1234}
304
305 # Check maximum non-UTF character size for the 16-bit library.
306
307 /\x{ffff}/
308     A\x{ffff}B
309
310 /\x{10000}/
311
312 /\o{20000}/
313
314 # Check maximum character size for the 32-bit library. These will all give
315 # errors in the 16-bit library.
316
317 /\x{110000}/
318
319 /\x{7fffffff}/
320
321 /\x{80000000}/
322
323 /\x{ffffffff}/
324
325 /\x{100000000}/
326
327 /\o{17777777777}/
328
329 /\o{20000000000}/
330
331 /\o{37777777777}/
332
333 /\o{40000000000}/
334
335 /\x{7fffffff}\x{7fffffff}/I
336
337 /\x{80000000}\x{80000000}/I
338
339 /\x{ffffffff}\x{ffffffff}/I
340
341 # Non-UTF characters 
342
343 /.{2,3}/
344     \x{400000}\x{400001}\x{400002}\x{400003}
345
346 /\x{400000}\x{800000}/IBi
347
348 # Check character ranges 
349
350 /[\H]/IB
351
352 /[\V]/IB
353
354 /(*THEN:\[A]{65501})/expand
355
356 # We can use pcre2test's utf8_input modifier to create wide pattern characters,
357 # even though this test is run when UTF is not supported.
358
359 /abý¿¿¿¿¿z/utf8_input
360     abý¿¿¿¿¿z
361     ab\x{7fffffff}z
362
363 /abÿý¿¿¿¿¿z/utf8_input
364     abÿý¿¿¿¿¿z
365     ab\x{ffffffff}z 
366
367 /abÿAz/utf8_input
368     abÿAz
369     ab\x{80000041}z 
370
371 # End of testinput11