1# This set of tests checks UTF and Unicode property support with the DFA
2# matching functionality of pcre_dfa_match(). A default subject modifier is
3# used to force DFA matching for all tests.
4
5#subject dfa
6#newline_default LF any anyCRLF
7
8/\x{100}ab/utf
9  \x{100}ab
10 0: \x{100}ab
11
12/a\x{100}*b/utf
13    ab
14 0: ab
15    a\x{100}b
16 0: a\x{100}b
17    a\x{100}\x{100}b
18 0: a\x{100}\x{100}b
19
20/a\x{100}+b/utf
21    a\x{100}b
22 0: a\x{100}b
23    a\x{100}\x{100}b
24 0: a\x{100}\x{100}b
25\= Expect no match
26    ab
27No match
28
29/\bX/utf
30    Xoanon
31 0: X
32    +Xoanon
33 0: X
34    \x{300}Xoanon
35 0: X
36\= Expect no match
37    YXoanon
38No match
39
40/\BX/utf
41    YXoanon
42 0: X
43\= Expect no match
44    Xoanon
45No match
46    +Xoanon
47No match
48    \x{300}Xoanon
49No match
50
51/X\b/utf
52    X+oanon
53 0: X
54    ZX\x{300}oanon
55 0: X
56    FAX
57 0: X
58\= Expect no match
59    Xoanon
60No match
61
62/X\B/utf
63    Xoanon
64 0: X
65\= Expect no match
66    X+oanon
67No match
68    ZX\x{300}oanon
69No match
70    FAX
71No match
72
73/[^a]/utf
74    abcd
75 0: b
76    a\x{100}
77 0: \x{100}
78
79/^[abc\x{123}\x{400}-\x{402}]{2,3}\d/utf
80    ab99
81 0: ab9
82    \x{123}\x{123}45
83 0: \x{123}\x{123}4
84    \x{400}\x{401}\x{402}6
85 0: \x{400}\x{401}\x{402}6
86\= Expect no match
87    d99
88No match
89    \x{123}\x{122}4
90No match
91    \x{400}\x{403}6
92No match
93    \x{400}\x{401}\x{402}\x{402}6
94No match
95
96/a.b/utf
97    acb
98 0: acb
99    a\x7fb
100 0: a\x{7f}b
101    a\x{100}b
102 0: a\x{100}b
103\= Expect no match
104    a\nb
105No match
106
107/a(.{3})b/utf
108    a\x{4000}xyb
109 0: a\x{4000}xyb
110    a\x{4000}\x7fyb
111 0: a\x{4000}\x{7f}yb
112    a\x{4000}\x{100}yb
113 0: a\x{4000}\x{100}yb
114\= Expect no match
115    a\x{4000}b
116No match
117    ac\ncb
118No match
119
120/a(.*?)(.)/
121    a\xc0\x88b
122 0: a\xc0\x88b
123 1: a\xc0\x88
124 2: a\xc0
125
126/a(.*?)(.)/utf
127    a\x{100}b
128 0: a\x{100}b
129 1: a\x{100}
130
131/a(.*)(.)/
132    a\xc0\x88b
133 0: a\xc0\x88b
134 1: a\xc0\x88
135 2: a\xc0
136
137/a(.*)(.)/utf
138    a\x{100}b
139 0: a\x{100}b
140 1: a\x{100}
141
142/a(.)(.)/
143    a\xc0\x92bcd
144 0: a\xc0\x92
145
146/a(.)(.)/utf
147    a\x{240}bcd
148 0: a\x{240}b
149
150/a(.?)(.)/
151    a\xc0\x92bcd
152 0: a\xc0\x92
153 1: a\xc0
154
155/a(.?)(.)/utf
156    a\x{240}bcd
157 0: a\x{240}b
158 1: a\x{240}
159
160/a(.??)(.)/
161    a\xc0\x92bcd
162 0: a\xc0\x92
163 1: a\xc0
164
165/a(.??)(.)/utf
166    a\x{240}bcd
167 0: a\x{240}b
168 1: a\x{240}
169
170/a(.{3})b/utf
171    a\x{1234}xyb
172 0: a\x{1234}xyb
173    a\x{1234}\x{4321}yb
174 0: a\x{1234}\x{4321}yb
175    a\x{1234}\x{4321}\x{3412}b
176 0: a\x{1234}\x{4321}\x{3412}b
177\= Expect no match
178    a\x{1234}b
179No match
180    ac\ncb
181No match
182
183/a(.{3,})b/utf
184    a\x{1234}xyb
185 0: a\x{1234}xyb
186    a\x{1234}\x{4321}yb
187 0: a\x{1234}\x{4321}yb
188    a\x{1234}\x{4321}\x{3412}b
189 0: a\x{1234}\x{4321}\x{3412}b
190    axxxxbcdefghijb
191 0: axxxxbcdefghijb
192 1: axxxxb
193    a\x{1234}\x{4321}\x{3412}\x{3421}b
194 0: a\x{1234}\x{4321}\x{3412}\x{3421}b
195\= Expect no match
196    a\x{1234}b
197No match
198
199/a(.{3,}?)b/utf
200    a\x{1234}xyb
201 0: a\x{1234}xyb
202    a\x{1234}\x{4321}yb
203 0: a\x{1234}\x{4321}yb
204    a\x{1234}\x{4321}\x{3412}b
205 0: a\x{1234}\x{4321}\x{3412}b
206    axxxxbcdefghijb
207 0: axxxxbcdefghijb
208 1: axxxxb
209    a\x{1234}\x{4321}\x{3412}\x{3421}b
210 0: a\x{1234}\x{4321}\x{3412}\x{3421}b
211\= Expect no match
212    a\x{1234}b
213No match
214
215/a(.{3,5})b/utf
216    a\x{1234}xyb
217 0: a\x{1234}xyb
218    a\x{1234}\x{4321}yb
219 0: a\x{1234}\x{4321}yb
220    a\x{1234}\x{4321}\x{3412}b
221 0: a\x{1234}\x{4321}\x{3412}b
222    axxxxbcdefghijb
223 0: axxxxb
224    a\x{1234}\x{4321}\x{3412}\x{3421}b
225 0: a\x{1234}\x{4321}\x{3412}\x{3421}b
226    axbxxbcdefghijb
227 0: axbxxb
228    axxxxxbcdefghijb
229 0: axxxxxb
230\= Expect no match
231    a\x{1234}b
232No match
233    axxxxxxbcdefghijb
234No match
235
236/a(.{3,5}?)b/utf
237    a\x{1234}xyb
238 0: a\x{1234}xyb
239    a\x{1234}\x{4321}yb
240 0: a\x{1234}\x{4321}yb
241    a\x{1234}\x{4321}\x{3412}b
242 0: a\x{1234}\x{4321}\x{3412}b
243    axxxxbcdefghijb
244 0: axxxxb
245    a\x{1234}\x{4321}\x{3412}\x{3421}b
246 0: a\x{1234}\x{4321}\x{3412}\x{3421}b
247    axbxxbcdefghijb
248 0: axbxxb
249    axxxxxbcdefghijb
250 0: axxxxxb
251\= Expect no match
252    a\x{1234}b
253No match
254    axxxxxxbcdefghijb
255No match
256
257/^[a\x{c0}]/utf
258\= Expect no match
259    \x{100}
260No match
261
262/(?<=aXb)cd/utf
263    aXbcd
264 0: cd
265
266/(?<=a\x{100}b)cd/utf
267    a\x{100}bcd
268 0: cd
269
270/(?<=a\x{100000}b)cd/utf
271    a\x{100000}bcd
272 0: cd
273
274/(?:\x{100}){3}b/utf
275    \x{100}\x{100}\x{100}b
276 0: \x{100}\x{100}\x{100}b
277\= Expect no match
278    \x{100}\x{100}b
279No match
280
281/\x{ab}/utf
282    \x{ab}
283 0: \x{ab}
284    \xc2\xab
285 0: \x{ab}
286\= Expect no match
287    \x00{ab}
288No match
289
290/(?<=(.))X/utf
291    WXYZ
292 0: X
293    \x{256}XYZ
294 0: X
295\= Expect no match
296    XYZ
297No match
298
299/[^a]+/g,utf
300    bcd
301 0: bcd
302    \x{100}aY\x{256}Z
303 0: \x{100}
304 0: Y\x{256}Z
305
306/^[^a]{2}/utf
307    \x{100}bc
308 0: \x{100}b
309
310/^[^a]{2,}/utf
311    \x{100}bcAa
312 0: \x{100}bcA
313
314/^[^a]{2,}?/utf
315    \x{100}bca
316 0: \x{100}bc
317 1: \x{100}b
318
319/[^a]+/gi,utf
320    bcd
321 0: bcd
322    \x{100}aY\x{256}Z
323 0: \x{100}
324 0: Y\x{256}Z
325
326/^[^a]{2}/i,utf
327    \x{100}bc
328 0: \x{100}b
329
330/^[^a]{2,}/i,utf
331    \x{100}bcAa
332 0: \x{100}bc
333
334/^[^a]{2,}?/i,utf
335    \x{100}bca
336 0: \x{100}bc
337 1: \x{100}b
338
339/\x{100}{0,0}/utf
340    abcd
341 0:
342
343/\x{100}?/utf
344    abcd
345 0:
346    \x{100}\x{100}
347 0: \x{100}
348
349/\x{100}{0,3}/utf
350    \x{100}\x{100}
351 0: \x{100}\x{100}
352    \x{100}\x{100}\x{100}\x{100}
353 0: \x{100}\x{100}\x{100}
354
355/\x{100}*/utf
356    abce
357 0:
358    \x{100}\x{100}\x{100}\x{100}
359 0: \x{100}\x{100}\x{100}\x{100}
360
361/\x{100}{1,1}/utf
362    abcd\x{100}\x{100}\x{100}\x{100}
363 0: \x{100}
364
365/\x{100}{1,3}/utf
366    abcd\x{100}\x{100}\x{100}\x{100}
367 0: \x{100}\x{100}\x{100}
368
369/\x{100}+/utf
370    abcd\x{100}\x{100}\x{100}\x{100}
371 0: \x{100}\x{100}\x{100}\x{100}
372
373/\x{100}{3}/utf
374    abcd\x{100}\x{100}\x{100}XX
375 0: \x{100}\x{100}\x{100}
376
377/\x{100}{3,5}/utf
378    abcd\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}XX
379 0: \x{100}\x{100}\x{100}\x{100}\x{100}
380
381/\x{100}{3,}/utf,no_auto_possess
382    abcd\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}XX
383 0: \x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}
384 1: \x{100}\x{100}\x{100}\x{100}\x{100}\x{100}
385 2: \x{100}\x{100}\x{100}\x{100}\x{100}
386 3: \x{100}\x{100}\x{100}\x{100}
387 4: \x{100}\x{100}\x{100}
388
389/(?<=a\x{100}{2}b)X/utf
390    Xyyya\x{100}\x{100}bXzzz
391 0: X
392
393/\D*/utf,no_auto_possess
394  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
395Matched, but offsets vector is too small to show all matches
396 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
397 1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
398 2: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
399 3: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
400 4: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
401 5: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
402 6: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
403 7: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
404 8: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
405 9: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
40610: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
40711: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
40812: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
40913: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
41014: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
411
412/\D*/utf,no_auto_possess
413  \x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}
414Matched, but offsets vector is too small to show all matches
415 0: \x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}
416 1: \x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}
417 2: \x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}
418 3: \x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}
419 4: \x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}
420 5: \x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}
421 6: \x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}
422 7: \x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}
423 8: \x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}
424 9: \x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}
42510: \x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}
42611: \x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}
42712: \x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}
42813: \x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}
42914: \x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}
430
431/\D/utf
432    1X2
433 0: X
434    1\x{100}2
435 0: \x{100}
436
437/>\S/utf
438    > >X Y
439 0: >X
440    > >\x{100} Y
441 0: >\x{100}
442
443/\d/utf
444    \x{100}3
445 0: 3
446
447/\s/utf
448    \x{100} X
449 0:
450
451/\D+/utf
452    12abcd34
453 0: abcd
454\= Expect no match
455    1234
456No match
457
458/\D{2,3}/utf
459    12abcd34
460 0: abc
461    12ab34
462 0: ab
463\= Expect no match
464    1234
465No match
466    12a34
467No match
468
469/\D{2,3}?/utf
470    12abcd34
471 0: abc
472 1: ab
473    12ab34
474 0: ab
475\= Expect no match
476    1234
477No match
478    12a34
479No match
480
481/\d+/utf
482    12abcd34
483 0: 12
484
485/\d{2,3}/utf
486    12abcd34
487 0: 12
488    1234abcd
489 0: 123
490\= Expect no match
491    1.4
492No match
493
494/\d{2,3}?/utf
495    12abcd34
496 0: 12
497    1234abcd
498 0: 123
499 1: 12
500\= Expect no match
501    1.4
502No match
503
504/\S+/utf
505    12abcd34
506 0: 12abcd34
507\= Expect no match
508    \    \
509No match
510
511/\S{2,3}/utf
512    12abcd34
513 0: 12a
514    1234abcd
515 0: 123
516\= Expect no match
517    \     \
518No match
519
520/\S{2,3}?/utf
521    12abcd34
522 0: 12a
523 1: 12
524    1234abcd
525 0: 123
526 1: 12
527\= Expect no match
528    \     \
529No match
530
531/>\s+</utf
532    12>      <34
533 0: >      <
534
535/>\s{2,3}</utf
536    ab>  <cd
537 0: >  <
538    ab>   <ce
539 0: >   <
540\= Expect no match
541    ab>    <cd
542No match
543
544/>\s{2,3}?</utf
545    ab>  <cd
546 0: >  <
547    ab>   <ce
548 0: >   <
549\= Expect no match
550    ab>    <cd
551No match
552
553/\w+/utf
554    12      34
555 0: 12
556\= Expect no match
557    +++=*!
558No match
559
560/\w{2,3}/utf
561    ab  cd
562 0: ab
563    abcd ce
564 0: abc
565\= Expect no match
566    a.b.c
567No match
568
569/\w{2,3}?/utf
570    ab  cd
571 0: ab
572    abcd ce
573 0: abc
574 1: ab
575\= Expect no match
576    a.b.c
577No match
578
579/\W+/utf
580    12====34
581 0: ====
582\= Expect no match
583    abcd
584No match
585
586/\W{2,3}/utf
587    ab====cd
588 0: ===
589    ab==cd
590 0: ==
591\= Expect no match
592    a.b.c
593No match
594
595/\W{2,3}?/utf
596    ab====cd
597 0: ===
598 1: ==
599    ab==cd
600 0: ==
601\= Expect no match
602    a.b.c
603No match
604
605/[\x{100}]/utf
606    \x{100}
607 0: \x{100}
608    Z\x{100}
609 0: \x{100}
610    \x{100}Z
611 0: \x{100}
612
613/[Z\x{100}]/utf
614    Z\x{100}
615 0: Z
616    \x{100}
617 0: \x{100}
618    \x{100}Z
619 0: \x{100}
620
621/[\x{100}\x{200}]/utf
622   ab\x{100}cd
623 0: \x{100}
624   ab\x{200}cd
625 0: \x{200}
626
627/[\x{100}-\x{200}]/utf
628   ab\x{100}cd
629 0: \x{100}
630   ab\x{200}cd
631 0: \x{200}
632   ab\x{111}cd
633 0: \x{111}
634
635/[z-\x{200}]/utf
636   ab\x{100}cd
637 0: \x{100}
638   ab\x{200}cd
639 0: \x{200}
640   ab\x{111}cd
641 0: \x{111}
642   abzcd
643 0: z
644   ab|cd
645 0: |
646
647/[Q\x{100}\x{200}]/utf
648   ab\x{100}cd
649 0: \x{100}
650   ab\x{200}cd
651 0: \x{200}
652   Q?
653 0: Q
654
655/[Q\x{100}-\x{200}]/utf
656   ab\x{100}cd
657 0: \x{100}
658   ab\x{200}cd
659 0: \x{200}
660   ab\x{111}cd
661 0: \x{111}
662   Q?
663 0: Q
664
665/[Qz-\x{200}]/utf
666   ab\x{100}cd
667 0: \x{100}
668   ab\x{200}cd
669 0: \x{200}
670   ab\x{111}cd
671 0: \x{111}
672   abzcd
673 0: z
674   ab|cd
675 0: |
676   Q?
677 0: Q
678
679/[\x{100}\x{200}]{1,3}/utf
680   ab\x{100}cd
681 0: \x{100}
682   ab\x{200}cd
683 0: \x{200}
684   ab\x{200}\x{100}\x{200}\x{100}cd
685 0: \x{200}\x{100}\x{200}
686
687/[\x{100}\x{200}]{1,3}?/utf
688   ab\x{100}cd
689 0: \x{100}
690   ab\x{200}cd
691 0: \x{200}
692   ab\x{200}\x{100}\x{200}\x{100}cd
693 0: \x{200}\x{100}\x{200}
694 1: \x{200}\x{100}
695 2: \x{200}
696
697/[Q\x{100}\x{200}]{1,3}/utf
698   ab\x{100}cd
699 0: \x{100}
700   ab\x{200}cd
701 0: \x{200}
702   ab\x{200}\x{100}\x{200}\x{100}cd
703 0: \x{200}\x{100}\x{200}
704
705/[Q\x{100}\x{200}]{1,3}?/utf
706   ab\x{100}cd
707 0: \x{100}
708   ab\x{200}cd
709 0: \x{200}
710   ab\x{200}\x{100}\x{200}\x{100}cd
711 0: \x{200}\x{100}\x{200}
712 1: \x{200}\x{100}
713 2: \x{200}
714
715/(?<=[\x{100}\x{200}])X/utf
716    abc\x{200}X
717 0: X
718    abc\x{100}X
719 0: X
720\= Expect no match
721    X
722No match
723
724/(?<=[Q\x{100}\x{200}])X/utf
725    abc\x{200}X
726 0: X
727    abc\x{100}X
728 0: X
729    abQX
730 0: X
731\= Expect no match
732    X
733No match
734
735/(?<=[\x{100}\x{200}]{3})X/utf
736    abc\x{100}\x{200}\x{100}X
737 0: X
738\= Expect no match
739    abc\x{200}X
740No match
741    X
742No match
743
744/[^\x{100}\x{200}]X/utf
745    AX
746 0: AX
747    \x{150}X
748 0: \x{150}X
749    \x{500}X
750 0: \x{500}X
751\= Expect no match
752    \x{100}X
753No match
754    \x{200}X
755No match
756
757/[^Q\x{100}\x{200}]X/utf
758    AX
759 0: AX
760    \x{150}X
761 0: \x{150}X
762    \x{500}X
763 0: \x{500}X
764\= Expect no match
765    \x{100}X
766No match
767    \x{200}X
768No match
769    QX
770No match
771
772/[^\x{100}-\x{200}]X/utf
773    AX
774 0: AX
775    \x{500}X
776 0: \x{500}X
777\= Expect no match
778    \x{100}X
779No match
780    \x{150}X
781No match
782    \x{200}X
783No match
784
785/[z-\x{100}]/i,utf
786    z
787 0: z
788    Z
789 0: Z
790    \x{100}
791 0: \x{100}
792\= Expect no match
793    \x{102}
794No match
795    y
796No match
797
798/[\xFF]/
799    >\xff<
800 0: \xff
801
802/[\xff]/utf
803    >\x{ff}<
804 0: \x{ff}
805
806/[^\xFF]/
807    XYZ
808 0: X
809
810/[^\xff]/utf
811    XYZ
812 0: X
813    \x{123}
814 0: \x{123}
815
816/^[ac]*b/utf
817\= Expect no match
818    xb
819No match
820
821/^[ac\x{100}]*b/utf
822\= Expect no match
823    xb
824No match
825
826/^[^x]*b/i,utf
827\= Expect no match
828    xb
829No match
830
831/^[^x]*b/utf
832\= Expect no match
833    xb
834No match
835
836/^\d*b/utf
837\= Expect no match
838    xb
839No match
840
841/(|a)/g,utf
842    catac
843 0:
844 0: a
845 1:
846 0:
847 0: a
848 1:
849 0:
850 0:
851    a\x{256}a
852 0: a
853 1:
854 0:
855 0: a
856 1:
857 0:
858
859/^\x{85}$/i,utf
860    \x{85}
861 0: \x{85}
862
863/^abc./gmx,newline=any,utf
864    abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x{0085}abc7 \x{2028}abc8 \x{2029}abc9 JUNK
865 0: abc1
866 0: abc2
867 0: abc3
868 0: abc4
869 0: abc5
870 0: abc6
871 0: abc7
872 0: abc8
873 0: abc9
874
875/abc.$/gmx,newline=any,utf
876    abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x{0085} abc7\x{2028} abc8\x{2029} abc9
877 0: abc1
878 0: abc2
879 0: abc3
880 0: abc4
881 0: abc5
882 0: abc6
883 0: abc7
884 0: abc8
885 0: abc9
886
887/^a\Rb/bsr=unicode,utf
888    a\nb
889 0: a\x{0a}b
890    a\rb
891 0: a\x{0d}b
892    a\r\nb
893 0: a\x{0d}\x{0a}b
894    a\x0bb
895 0: a\x{0b}b
896    a\x0cb
897 0: a\x{0c}b
898    a\x{85}b
899 0: a\x{85}b
900    a\x{2028}b
901 0: a\x{2028}b
902    a\x{2029}b
903 0: a\x{2029}b
904\= Expect no match
905    a\n\rb
906No match
907
908/^a\R*b/bsr=unicode,utf
909    ab
910 0: ab
911    a\nb
912 0: a\x{0a}b
913    a\rb
914 0: a\x{0d}b
915    a\r\nb
916 0: a\x{0d}\x{0a}b
917    a\x0bb
918 0: a\x{0b}b
919    a\x0c\x{2028}\x{2029}b
920 0: a\x{0c}\x{2028}\x{2029}b
921    a\x{85}b
922 0: a\x{85}b
923    a\n\rb
924 0: a\x{0a}\x{0d}b
925    a\n\r\x{85}\x0cb
926 0: a\x{0a}\x{0d}\x{85}\x{0c}b
927
928/^a\R+b/bsr=unicode,utf
929    a\nb
930 0: a\x{0a}b
931    a\rb
932 0: a\x{0d}b
933    a\r\nb
934 0: a\x{0d}\x{0a}b
935    a\x0bb
936 0: a\x{0b}b
937    a\x0c\x{2028}\x{2029}b
938 0: a\x{0c}\x{2028}\x{2029}b
939    a\x{85}b
940 0: a\x{85}b
941    a\n\rb
942 0: a\x{0a}\x{0d}b
943    a\n\r\x{85}\x0cb
944 0: a\x{0a}\x{0d}\x{85}\x{0c}b
945\= Expect no match
946    ab
947No match
948
949/^a\R{1,3}b/bsr=unicode,utf
950    a\nb
951 0: a\x{0a}b
952    a\n\rb
953 0: a\x{0a}\x{0d}b
954    a\n\r\x{85}b
955 0: a\x{0a}\x{0d}\x{85}b
956    a\r\n\r\nb
957 0: a\x{0d}\x{0a}\x{0d}\x{0a}b
958    a\r\n\r\n\r\nb
959 0: a\x{0d}\x{0a}\x{0d}\x{0a}\x{0d}\x{0a}b
960    a\n\r\n\rb
961 0: a\x{0a}\x{0d}\x{0a}\x{0d}b
962    a\n\n\r\nb
963 0: a\x{0a}\x{0a}\x{0d}\x{0a}b
964\= Expect no match
965    a\n\n\n\rb
966No match
967    a\r
968No match
969
970/\h+\V?\v{3,4}/utf,no_auto_possess
971    \x09\x20\x{a0}X\x0a\x0b\x0c\x0d\x0a
972 0: \x{09} \x{a0}X\x{0a}\x{0b}\x{0c}\x{0d}
973 1: \x{09} \x{a0}X\x{0a}\x{0b}\x{0c}
974
975/\V?\v{3,4}/utf,no_auto_possess
976    \x20\x{a0}X\x0a\x0b\x0c\x0d\x0a
977 0: X\x{0a}\x{0b}\x{0c}\x{0d}
978 1: X\x{0a}\x{0b}\x{0c}
979
980/\h+\V?\v{3,4}/utf,no_auto_possess
981    >\x09\x20\x{a0}X\x0a\x0a\x0a<
982 0: \x{09} \x{a0}X\x{0a}\x{0a}\x{0a}
983
984/\V?\v{3,4}/utf,no_auto_possess
985    >\x09\x20\x{a0}X\x0a\x0a\x0a<
986 0: X\x{0a}\x{0a}\x{0a}
987
988/\H\h\V\v/utf
989    X X\x0a
990 0: X X\x{0a}
991    X\x09X\x0b
992 0: X\x{09}X\x{0b}
993\= Expect no match
994    \x{a0} X\x0a
995No match
996
997/\H*\h+\V?\v{3,4}/utf,no_auto_possess
998    \x09\x20\x{a0}X\x0a\x0b\x0c\x0d\x0a
999 0: \x{09} \x{a0}X\x{0a}\x{0b}\x{0c}\x{0d}
1000 1: \x{09} \x{a0}X\x{0a}\x{0b}\x{0c}
1001    \x09\x20\x{a0}\x0a\x0b\x0c\x0d\x0a
1002 0: \x{09} \x{a0}\x{0a}\x{0b}\x{0c}\x{0d}
1003 1: \x{09} \x{a0}\x{0a}\x{0b}\x{0c}
1004    \x09\x20\x{a0}\x0a\x0b\x0c
1005 0: \x{09} \x{a0}\x{0a}\x{0b}\x{0c}
1006\= Expect no match
1007    \x09\x20\x{a0}\x0a\x0b
1008No match
1009
1010/\H\h\V\v/utf
1011    \x{3001}\x{3000}\x{2030}\x{2028}
1012 0: \x{3001}\x{3000}\x{2030}\x{2028}
1013    X\x{180e}X\x{85}
1014 0: X\x{180e}X\x{85}
1015\= Expect no match
1016    \x{2009} X\x0a
1017No match
1018
1019/\H*\h+\V?\v{3,4}/utf,no_auto_possess
1020    \x{1680}\x{180e}\x{2007}X\x{2028}\x{2029}\x0c\x0d\x0a
1021 0: \x{1680}\x{180e}\x{2007}X\x{2028}\x{2029}\x{0c}\x{0d}
1022 1: \x{1680}\x{180e}\x{2007}X\x{2028}\x{2029}\x{0c}
1023    \x09\x{205f}\x{a0}\x0a\x{2029}\x0c\x{2028}\x0a
1024 0: \x{09}\x{205f}\x{a0}\x{0a}\x{2029}\x{0c}\x{2028}
1025 1: \x{09}\x{205f}\x{a0}\x{0a}\x{2029}\x{0c}
1026    \x09\x20\x{202f}\x0a\x0b\x0c
1027 0: \x{09} \x{202f}\x{0a}\x{0b}\x{0c}
1028\= Expect no match
1029    \x09\x{200a}\x{a0}\x{2028}\x0b
1030No match
1031
1032/a\Rb/I,bsr=anycrlf,utf
1033Capturing subpattern count = 0
1034Options: utf
1035\R matches CR, LF, or CRLF
1036First code unit = 'a'
1037Last code unit = 'b'
1038Subject length lower bound = 3
1039    a\rb
1040 0: a\x{0d}b
1041    a\nb
1042 0: a\x{0a}b
1043    a\r\nb
1044 0: a\x{0d}\x{0a}b
1045\= Expect no match
1046    a\x{85}b
1047No match
1048    a\x0bb
1049No match
1050
1051/a\Rb/I,bsr=unicode,utf
1052Capturing subpattern count = 0
1053Options: utf
1054\R matches any Unicode newline
1055First code unit = 'a'
1056Last code unit = 'b'
1057Subject length lower bound = 3
1058    a\rb
1059 0: a\x{0d}b
1060    a\nb
1061 0: a\x{0a}b
1062    a\r\nb
1063 0: a\x{0d}\x{0a}b
1064    a\x{85}b
1065 0: a\x{85}b
1066    a\x0bb
1067 0: a\x{0b}b
1068
1069/a\R?b/I,bsr=anycrlf,utf
1070Capturing subpattern count = 0
1071Options: utf
1072\R matches CR, LF, or CRLF
1073First code unit = 'a'
1074Last code unit = 'b'
1075Subject length lower bound = 2
1076    a\rb
1077 0: a\x{0d}b
1078    a\nb
1079 0: a\x{0a}b
1080    a\r\nb
1081 0: a\x{0d}\x{0a}b
1082\= Expect no match
1083    a\x{85}b
1084No match
1085    a\x0bb
1086No match
1087
1088/a\R?b/I,bsr=unicode,utf
1089Capturing subpattern count = 0
1090Options: utf
1091\R matches any Unicode newline
1092First code unit = 'a'
1093Last code unit = 'b'
1094Subject length lower bound = 2
1095    a\rb
1096 0: a\x{0d}b
1097    a\nb
1098 0: a\x{0a}b
1099    a\r\nb
1100 0: a\x{0d}\x{0a}b
1101    a\x{85}b
1102 0: a\x{85}b
1103    a\x0bb
1104 0: a\x{0b}b
1105
1106/X/newline=any,utf,firstline
1107    A\x{1ec5}ABCXYZ
1108 0: X
1109
1110/abcd*/utf
1111    xxxxabcd\=ps
1112 0: abcd
1113    xxxxabcd\=ph
1114Partial match: abcd
1115
1116/abcd*/i,utf
1117    xxxxabcd\=ps
1118 0: abcd
1119    xxxxabcd\=ph
1120Partial match: abcd
1121    XXXXABCD\=ps
1122 0: ABCD
1123    XXXXABCD\=ph
1124Partial match: ABCD
1125
1126/abc\d*/utf
1127    xxxxabc1\=ps
1128 0: abc1
1129    xxxxabc1\=ph
1130Partial match: abc1
1131
1132/abc[de]*/utf
1133    xxxxabcde\=ps
1134 0: abcde
1135    xxxxabcde\=ph
1136Partial match: abcde
1137
1138/\bthe cat\b/utf
1139    the cat\=ps
1140 0: the cat
1141    the cat\=ph
1142Partial match: the cat
1143
1144/./newline=crlf,utf
1145    \r\=ps
1146 0: \x{0d}
1147    \r\=ph
1148Partial match: \x{0d}
1149
1150/.{2,3}/newline=crlf,utf
1151    \r\=ps
1152Partial match: \x{0d}
1153    \r\=ph
1154Partial match: \x{0d}
1155    \r\r\=ps
1156 0: \x{0d}\x{0d}
1157    \r\r\=ph
1158Partial match: \x{0d}\x{0d}
1159    \r\r\r\=ps
1160 0: \x{0d}\x{0d}\x{0d}
1161    \r\r\r\=ph
1162Partial match: \x{0d}\x{0d}\x{0d}
1163
1164/.{2,3}?/newline=crlf,utf
1165    \r\=ps
1166Partial match: \x{0d}
1167    \r\=ph
1168Partial match: \x{0d}
1169    \r\r\=ps
1170 0: \x{0d}\x{0d}
1171    \r\r\=ph
1172Partial match: \x{0d}\x{0d}
1173    \r\r\r\=ps
1174 0: \x{0d}\x{0d}\x{0d}
1175 1: \x{0d}\x{0d}
1176    \r\r\r\=ph
1177Partial match: \x{0d}\x{0d}\x{0d}
1178
1179/[^\x{100}]/utf
1180    \x{100}\x{101}X
1181 0: \x{101}
1182
1183/[^\x{100}]+/utf
1184    \x{100}\x{101}X
1185 0: \x{101}X
1186
1187/\pL\P{Nd}/utf
1188    AB
1189 0: AB
1190\= Expect no match
1191    A0
1192No match
1193    00
1194No match
1195
1196/\X./utf
1197    AB
1198 0: AB
1199    A\x{300}BC
1200 0: A\x{300}B
1201    A\x{300}\x{301}\x{302}BC
1202 0: A\x{300}\x{301}\x{302}B
1203\= Expect no match
1204    \x{300}
1205No match
1206
1207/\X\X/utf
1208    ABC
1209 0: AB
1210    A\x{300}B\x{300}\x{301}C
1211 0: A\x{300}B\x{300}\x{301}
1212    A\x{300}\x{301}\x{302}BC
1213 0: A\x{300}\x{301}\x{302}B
1214\= Expect no match
1215    \x{300}
1216No match
1217
1218/^\pL+/utf
1219    abcd
1220 0: abcd
1221    a
1222 0: a
1223
1224/^\PL+/utf
1225    1234
1226 0: 1234
1227    =
1228 0: =
1229\= Expect no match
1230    abcd
1231No match
1232
1233/^\X+/utf
1234    abcdA\x{300}\x{301}\x{302}
1235 0: abcdA\x{300}\x{301}\x{302}
1236    A\x{300}\x{301}\x{302}
1237 0: A\x{300}\x{301}\x{302}
1238    A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}
1239 0: A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}
1240    a
1241 0: a
1242    \x{300}\x{301}\x{302}
1243 0: \x{300}\x{301}\x{302}
1244
1245/\X?abc/utf
1246    abc
1247 0: abc
1248    A\x{300}abc
1249 0: A\x{300}abc
1250    A\x{300}\x{301}\x{302}A\x{300}A\x{300}A\x{300}abcxyz
1251 0: A\x{300}abc
1252    \x{300}abc
1253 0: \x{300}abc
1254
1255/^\X?abc/utf
1256    abc
1257 0: abc
1258    A\x{300}abc
1259 0: A\x{300}abc
1260    \x{300}abc
1261 0: \x{300}abc
1262\= Expect no match
1263    A\x{300}\x{301}\x{302}A\x{300}A\x{300}A\x{300}abcxyz
1264No match
1265
1266/\X*abc/utf
1267    abc
1268 0: abc
1269    A\x{300}abc
1270 0: A\x{300}abc
1271    A\x{300}\x{301}\x{302}A\x{300}A\x{300}A\x{300}abcxyz
1272 0: A\x{300}\x{301}\x{302}A\x{300}A\x{300}A\x{300}abc
1273    \x{300}abc
1274 0: \x{300}abc
1275
1276/^\X*abc/utf
1277    abc
1278 0: abc
1279    A\x{300}abc
1280 0: A\x{300}abc
1281    A\x{300}\x{301}\x{302}A\x{300}A\x{300}A\x{300}abcxyz
1282 0: A\x{300}\x{301}\x{302}A\x{300}A\x{300}A\x{300}abc
1283    \x{300}abc
1284 0: \x{300}abc
1285
1286/^\pL?=./utf
1287    A=b
1288 0: A=b
1289    =c
1290 0: =c
1291\= Expect no match
1292    1=2
1293No match
1294    AAAA=b
1295No match
1296
1297/^\pL*=./utf
1298    AAAA=b
1299 0: AAAA=b
1300    =c
1301 0: =c
1302\= Expect no match
1303    1=2
1304No match
1305
1306/^\X{2,3}X/utf
1307    A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}X
1308 0: A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}X
1309    A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}X
1310 0: A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}X
1311\= Expect no match
1312    X
1313No match
1314    A\x{300}\x{301}\x{302}X
1315No match
1316    A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}X
1317No match
1318
1319/^\pC\pL\pM\pN\pP\pS\pZ</utf
1320    \x7f\x{c0}\x{30f}\x{660}\x{66c}\x{f01}\x{1680}<
1321 0: \x{7f}\x{c0}\x{30f}\x{660}\x{66c}\x{f01}\x{1680}<
1322    \np\x{300}9!\$ <
1323 0: \x{0a}p\x{300}9!$ <
1324\= Expect no match
1325    ap\x{300}9!\$ <
1326No match
1327
1328/^\PC/utf
1329    X
1330 0: X
1331\= Expect no match
1332    \x7f
1333No match
1334
1335/^\PL/utf
1336    9
1337 0: 9
1338\= Expect no match
1339    \x{c0}
1340No match
1341
1342/^\PM/utf
1343    X
1344 0: X
1345\= Expect no match
1346    \x{30f}
1347No match
1348
1349/^\PN/utf
1350    X
1351 0: X
1352\= Expect no match
1353    \x{660}
1354No match
1355
1356/^\PP/utf
1357    X
1358 0: X
1359\= Expect no match
1360    \x{66c}
1361No match
1362
1363/^\PS/utf
1364    X
1365 0: X
1366\= Expect no match
1367    \x{f01}
1368No match
1369
1370/^\PZ/utf
1371    X
1372 0: X
1373\= Expect no match
1374    \x{1680}
1375No match
1376
1377/^\p{Cc}/utf
1378    \x{017}
1379 0: \x{17}
1380    \x{09f}
1381 0: \x{9f}
1382\= Expect no match
1383    \x{0600}
1384No match
1385
1386/^\p{Cf}/utf
1387    \x{601}
1388 0: \x{601}
1389    \x{180e}
1390 0: \x{180e}
1391    \x{061c}
1392 0: \x{61c}
1393    \x{2066}
1394 0: \x{2066}
1395    \x{2067}
1396 0: \x{2067}
1397    \x{2068}
1398 0: \x{2068}
1399    \x{2069}
1400 0: \x{2069}
1401\= Expect no match
1402    \x{09f}
1403No match
1404
1405/^\p{Cn}/utf
1406\= Expect no match
1407    \x{09f}
1408No match
1409
1410/^\p{Co}/utf
1411    \x{f8ff}
1412 0: \x{f8ff}
1413\= Expect no match
1414    \x{09f}
1415No match
1416
1417/^\p{Cs}/utf
1418    \x{dfff}\=no_utf_check
1419 0: \x{dfff}
1420\= Expect no match
1421    \x{09f}
1422No match
1423
1424/^\p{Ll}/utf
1425    a
1426 0: a
1427\= Expect no match
1428    Z
1429No match
1430    \x{e000}
1431No match
1432
1433/^\p{Lm}/utf
1434    \x{2b0}
1435 0: \x{2b0}
1436\= Expect no match
1437    a
1438No match
1439
1440/^\p{Lo}/utf
1441    \x{1bb}
1442 0: \x{1bb}
1443\= Expect no match
1444    a
1445No match
1446    \x{2b0}
1447No match
1448
1449/^\p{Lt}/utf
1450    \x{1c5}
1451 0: \x{1c5}
1452\= Expect no match
1453    a
1454No match
1455    \x{2b0}
1456No match
1457
1458/^\p{Lu}/utf
1459    A
1460 0: A
1461\= Expect no match
1462    \x{2b0}
1463No match
1464
1465/^\p{Mc}/utf
1466    \x{903}
1467 0: \x{903}
1468\= Expect no match
1469    X
1470No match
1471    \x{300}
1472No match
1473
1474/^\p{Me}/utf
1475    \x{488}
1476 0: \x{488}
1477\= Expect no match
1478    X
1479No match
1480    \x{903}
1481No match
1482    \x{300}
1483No match
1484
1485/^\p{Mn}/utf
1486    \x{300}
1487 0: \x{300}
1488    \x{1a1b}
1489 0: \x{1a1b}
1490\= Expect no match
1491    X
1492No match
1493    \x{903}
1494No match
1495
1496/^\p{Nd}+/utf,no_auto_possess
1497    0123456789\x{660}\x{661}\x{662}\x{663}\x{664}\x{665}\x{666}\x{667}\x{668}\x{669}\x{66a}
1498Matched, but offsets vector is too small to show all matches
1499 0: 0123456789\x{660}\x{661}\x{662}\x{663}\x{664}\x{665}\x{666}\x{667}\x{668}\x{669}
1500 1: 0123456789\x{660}\x{661}\x{662}\x{663}\x{664}\x{665}\x{666}\x{667}\x{668}
1501 2: 0123456789\x{660}\x{661}\x{662}\x{663}\x{664}\x{665}\x{666}\x{667}
1502 3: 0123456789\x{660}\x{661}\x{662}\x{663}\x{664}\x{665}\x{666}
1503 4: 0123456789\x{660}\x{661}\x{662}\x{663}\x{664}\x{665}
1504 5: 0123456789\x{660}\x{661}\x{662}\x{663}\x{664}
1505 6: 0123456789\x{660}\x{661}\x{662}\x{663}
1506 7: 0123456789\x{660}\x{661}\x{662}
1507 8: 0123456789\x{660}\x{661}
1508 9: 0123456789\x{660}
150910: 0123456789
151011: 012345678
151112: 01234567
151213: 0123456
151314: 012345
1514    \x{6f0}\x{6f1}\x{6f2}\x{6f3}\x{6f4}\x{6f5}\x{6f6}\x{6f7}\x{6f8}\x{6f9}\x{6fa}
1515 0: \x{6f0}\x{6f1}\x{6f2}\x{6f3}\x{6f4}\x{6f5}\x{6f6}\x{6f7}\x{6f8}\x{6f9}
1516 1: \x{6f0}\x{6f1}\x{6f2}\x{6f3}\x{6f4}\x{6f5}\x{6f6}\x{6f7}\x{6f8}
1517 2: \x{6f0}\x{6f1}\x{6f2}\x{6f3}\x{6f4}\x{6f5}\x{6f6}\x{6f7}
1518 3: \x{6f0}\x{6f1}\x{6f2}\x{6f3}\x{6f4}\x{6f5}\x{6f6}
1519 4: \x{6f0}\x{6f1}\x{6f2}\x{6f3}\x{6f4}\x{6f5}
1520 5: \x{6f0}\x{6f1}\x{6f2}\x{6f3}\x{6f4}
1521 6: \x{6f0}\x{6f1}\x{6f2}\x{6f3}
1522 7: \x{6f0}\x{6f1}\x{6f2}
1523 8: \x{6f0}\x{6f1}
1524 9: \x{6f0}
1525    \x{966}\x{967}\x{968}\x{969}\x{96a}\x{96b}\x{96c}\x{96d}\x{96e}\x{96f}\x{970}
1526 0: \x{966}\x{967}\x{968}\x{969}\x{96a}\x{96b}\x{96c}\x{96d}\x{96e}\x{96f}
1527 1: \x{966}\x{967}\x{968}\x{969}\x{96a}\x{96b}\x{96c}\x{96d}\x{96e}
1528 2: \x{966}\x{967}\x{968}\x{969}\x{96a}\x{96b}\x{96c}\x{96d}
1529 3: \x{966}\x{967}\x{968}\x{969}\x{96a}\x{96b}\x{96c}
1530 4: \x{966}\x{967}\x{968}\x{969}\x{96a}\x{96b}
1531 5: \x{966}\x{967}\x{968}\x{969}\x{96a}
1532 6: \x{966}\x{967}\x{968}\x{969}
1533 7: \x{966}\x{967}\x{968}
1534 8: \x{966}\x{967}
1535 9: \x{966}
1536\= Expect no match
1537    X
1538No match
1539
1540/^\p{Nl}/utf
1541    \x{16ee}
1542 0: \x{16ee}
1543\= Expect no match
1544    X
1545No match
1546    \x{966}
1547No match
1548
1549/^\p{No}/utf
1550    \x{b2}
1551 0: \x{b2}
1552    \x{b3}
1553 0: \x{b3}
1554\= Expect no match
1555    X
1556No match
1557    \x{16ee}
1558No match
1559
1560/^\p{Pc}/utf
1561    \x5f
1562 0: _
1563    \x{203f}
1564 0: \x{203f}
1565\= Expect no match
1566    X
1567No match
1568    -
1569No match
1570    \x{58a}
1571No match
1572
1573/^\p{Pd}/utf
1574    -
1575 0: -
1576    \x{58a}
1577 0: \x{58a}
1578\= Expect no match
1579    X
1580No match
1581    \x{203f}
1582No match
1583
1584/^\p{Pe}/utf
1585    )
1586 0: )
1587    ]
1588 0: ]
1589    }
1590 0: }
1591    \x{f3b}
1592 0: \x{f3b}
1593    \x{2309}
1594 0: \x{2309}
1595    \x{230b}
1596 0: \x{230b}
1597\= Expect no match
1598    X
1599No match
1600    \x{203f}
1601No match
1602    (
1603No match
1604    [
1605No match
1606    {
1607No match
1608    \x{f3c}
1609No match
1610
1611/^\p{Pf}/utf
1612    \x{bb}
1613 0: \x{bb}
1614    \x{2019}
1615 0: \x{2019}
1616\= Expect no match
1617    X
1618No match
1619    \x{203f}
1620No match
1621
1622/^\p{Pi}/utf
1623    \x{ab}
1624 0: \x{ab}
1625    \x{2018}
1626 0: \x{2018}
1627\= Expect no match
1628    X
1629No match
1630    \x{203f}
1631No match
1632
1633/^\p{Po}/utf
1634    !
1635 0: !
1636    \x{37e}
1637 0: \x{37e}
1638\= Expect no match
1639    X
1640No match
1641    \x{203f}
1642No match
1643
1644/^\p{Ps}/utf
1645    (
1646 0: (
1647    [
1648 0: [
1649    {
1650 0: {
1651    \x{f3c}
1652 0: \x{f3c}
1653    \x{2308}
1654 0: \x{2308}
1655    \x{230a}
1656 0: \x{230a}
1657\= Expect no match
1658    X
1659No match
1660    )
1661No match
1662    ]
1663No match
1664    }
1665No match
1666    \x{f3b}
1667No match
1668
1669/^\p{Sc}+/utf
1670    $\x{a2}\x{a3}\x{a4}\x{a5}\x{a6}
1671 0: $\x{a2}\x{a3}\x{a4}\x{a5}
1672    \x{9f2}
1673 0: \x{9f2}
1674\= Expect no match
1675    X
1676No match
1677    \x{2c2}
1678No match
1679
1680/^\p{Sk}/utf
1681    \x{2c2}
1682 0: \x{2c2}
1683\= Expect no match
1684    X
1685No match
1686    \x{9f2}
1687No match
1688
1689/^\p{Sm}+/utf
1690    +<|~\x{ac}\x{2044}
1691 0: +<|~\x{ac}\x{2044}
1692\= Expect no match
1693    X
1694No match
1695    \x{9f2}
1696No match
1697
1698/^\p{So}/utf
1699    \x{a6}
1700 0: \x{a6}
1701    \x{482}
1702 0: \x{482}
1703\= Expect no match
1704    X
1705No match
1706    \x{9f2}
1707No match
1708
1709/^\p{Zl}/utf
1710    \x{2028}
1711 0: \x{2028}
1712\= Expect no match
1713    X
1714No match
1715    \x{2029}
1716No match
1717
1718/^\p{Zp}/utf
1719    \x{2029}
1720 0: \x{2029}
1721\= Expect no match
1722    X
1723No match
1724    \x{2028}
1725No match
1726
1727/^\p{Zs}/utf
1728    \ \
1729 0:
1730    \x{a0}
1731 0: \x{a0}
1732    \x{1680}
1733 0: \x{1680}
1734    \x{2000}
1735 0: \x{2000}
1736    \x{2001}
1737 0: \x{2001}
1738\= Expect no match
1739    \x{2028}
1740No match
1741    \x{200d}
1742No match
1743
1744/\p{Nd}+(..)/utf
1745      \x{660}\x{661}\x{662}ABC
1746 0: \x{660}\x{661}\x{662}AB
1747 1: \x{660}\x{661}\x{662}A
1748 2: \x{660}\x{661}\x{662}
1749
1750/\p{Nd}+?(..)/utf
1751      \x{660}\x{661}\x{662}ABC
1752 0: \x{660}\x{661}\x{662}AB
1753 1: \x{660}\x{661}\x{662}A
1754 2: \x{660}\x{661}\x{662}
1755
1756/\p{Nd}{2,}(..)/utf
1757      \x{660}\x{661}\x{662}ABC
1758 0: \x{660}\x{661}\x{662}AB
1759 1: \x{660}\x{661}\x{662}A
1760
1761/\p{Nd}{2,}?(..)/utf
1762      \x{660}\x{661}\x{662}ABC
1763 0: \x{660}\x{661}\x{662}AB
1764 1: \x{660}\x{661}\x{662}A
1765
1766/\p{Nd}*(..)/utf
1767      \x{660}\x{661}\x{662}ABC
1768 0: \x{660}\x{661}\x{662}AB
1769 1: \x{660}\x{661}\x{662}A
1770 2: \x{660}\x{661}\x{662}
1771 3: \x{660}\x{661}
1772
1773/\p{Nd}*?(..)/utf
1774      \x{660}\x{661}\x{662}ABC
1775 0: \x{660}\x{661}\x{662}AB
1776 1: \x{660}\x{661}\x{662}A
1777 2: \x{660}\x{661}\x{662}
1778 3: \x{660}\x{661}
1779
1780/\p{Nd}{2}(..)/utf
1781      \x{660}\x{661}\x{662}ABC
1782 0: \x{660}\x{661}\x{662}A
1783
1784/\p{Nd}{2,3}(..)/utf
1785      \x{660}\x{661}\x{662}ABC
1786 0: \x{660}\x{661}\x{662}AB
1787 1: \x{660}\x{661}\x{662}A
1788
1789/\p{Nd}{2,3}?(..)/utf
1790      \x{660}\x{661}\x{662}ABC
1791 0: \x{660}\x{661}\x{662}AB
1792 1: \x{660}\x{661}\x{662}A
1793
1794/\p{Nd}?(..)/utf
1795      \x{660}\x{661}\x{662}ABC
1796 0: \x{660}\x{661}\x{662}
1797 1: \x{660}\x{661}
1798
1799/\p{Nd}??(..)/utf
1800      \x{660}\x{661}\x{662}ABC
1801 0: \x{660}\x{661}\x{662}
1802 1: \x{660}\x{661}
1803
1804/\p{Nd}*+(..)/utf
1805      \x{660}\x{661}\x{662}ABC
1806 0: \x{660}\x{661}\x{662}AB
1807
1808/\p{Nd}*+(...)/utf
1809      \x{660}\x{661}\x{662}ABC
1810 0: \x{660}\x{661}\x{662}ABC
1811
1812/\p{Nd}*+(....)/utf
1813\= Expect no match
1814      \x{660}\x{661}\x{662}ABC
1815No match
1816
1817/\p{Lu}/i,utf
1818    A
1819 0: A
1820    a\x{10a0}B
1821 0: \x{10a0}
1822\= Expect no match
1823    a
1824No match
1825    \x{1d00}
1826No match
1827
1828/\p{^Lu}/i,utf
1829    1234
1830 0: 1
1831\= Expect no match
1832    ABC
1833No match
1834
1835/\P{Lu}/i,utf
1836    1234
1837 0: 1
1838\= Expect no match
1839    ABC
1840No match
1841
1842/(?<=A\p{Nd})XYZ/utf
1843    A2XYZ
1844 0: XYZ
1845    123A5XYZPQR
1846 0: XYZ
1847    ABA\x{660}XYZpqr
1848 0: XYZ
1849\= Expect no match
1850    AXYZ
1851No match
1852    XYZ
1853No match
1854
1855/(?<!\pL)XYZ/utf
1856    1XYZ
1857 0: XYZ
1858    AB=XYZ..
1859 0: XYZ
1860    XYZ
1861 0: XYZ
1862\= Expect no match
1863    WXYZ
1864No match
1865
1866/[\p{Nd}]/utf
1867    1234
1868 0: 1
1869
1870/[\p{Nd}+-]+/utf
1871    1234
1872 0: 1234
1873    12-34
1874 0: 12-34
1875    12+\x{661}-34
1876 0: 12+\x{661}-34
1877\= Expect no match
1878    abcd
1879No match
1880
1881/[\P{Nd}]+/utf
1882    abcd
1883 0: abcd
1884\= Expect no match
1885    1234
1886No match
1887
1888/\D+/utf,no_auto_possess
1889    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1890Matched, but offsets vector is too small to show all matches
1891 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1892 1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1893 2: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1894 3: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1895 4: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1896 5: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1897 6: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1898 7: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1899 8: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1900 9: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
190110: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
190211: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
190312: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
190413: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
190514: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1906\= Expect no match
1907    11111111111111111111111111111111111111111111111111111111111111111111111
1908No match
1909
1910/\P{Nd}+/utf,no_auto_possess
1911    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1912Matched, but offsets vector is too small to show all matches
1913 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1914 1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1915 2: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1916 3: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1917 4: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1918 5: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1919 6: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1920 7: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1921 8: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1922 9: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
192310: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
192411: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
192512: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
192613: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
192714: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1928\= Expect no match
1929    11111111111111111111111111111111111111111111111111111111111111111111111
1930No match
1931
1932/[\D]+/utf,no_auto_possess
1933    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1934Matched, but offsets vector is too small to show all matches
1935 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1936 1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1937 2: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1938 3: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1939 4: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1940 5: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1941 6: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1942 7: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1943 8: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1944 9: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
194510: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
194611: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
194712: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
194813: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
194914: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1950\= Expect no match
1951    11111111111111111111111111111111111111111111111111111111111111111111111
1952No match
1953
1954/[\P{Nd}]+/utf,no_auto_possess
1955    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1956Matched, but offsets vector is too small to show all matches
1957 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1958 1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1959 2: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1960 3: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1961 4: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1962 5: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1963 6: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1964 7: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1965 8: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1966 9: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
196710: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
196811: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
196912: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
197013: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
197114: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1972\= Expect no match
1973    11111111111111111111111111111111111111111111111111111111111111111111111
1974No match
1975
1976/[\D\P{Nd}]+/utf,no_auto_possess
1977    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1978Matched, but offsets vector is too small to show all matches
1979 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1980 1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1981 2: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1982 3: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1983 4: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1984 5: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1985 6: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1986 7: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1987 8: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1988 9: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
198910: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
199011: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
199112: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
199213: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
199314: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1994\= Expect no match
1995    11111111111111111111111111111111111111111111111111111111111111111111111
1996No match
1997
1998/\pL/utf
1999    a
2000 0: a
2001    A
2002 0: A
2003
2004/\pL/i,utf
2005    a
2006 0: a
2007    A
2008 0: A
2009
2010/\p{Lu}/utf
2011    A
2012 0: A
2013    aZ
2014 0: Z
2015\= Expect no match
2016    abc
2017No match
2018
2019/\p{Lu}/i,utf
2020    A
2021 0: A
2022    aZ
2023 0: Z
2024\= Expect no match
2025    abc
2026No match
2027
2028/\p{Ll}/utf
2029    a
2030 0: a
2031    Az
2032 0: z
2033\= Expect no match
2034    ABC
2035No match
2036
2037/\p{Ll}/i,utf
2038    a
2039 0: a
2040    Az
2041 0: z
2042\= Expect no match
2043    ABC
2044No match
2045
2046/^\x{c0}$/i,utf
2047    \x{c0}
2048 0: \x{c0}
2049    \x{e0}
2050 0: \x{e0}
2051
2052/^\x{e0}$/i,utf
2053    \x{c0}
2054 0: \x{c0}
2055    \x{e0}
2056 0: \x{e0}
2057
2058/A\x{391}\x{10427}\x{ff3a}\x{1fb0}/utf
2059    A\x{391}\x{10427}\x{ff3a}\x{1fb0}
2060 0: A\x{391}\x{10427}\x{ff3a}\x{1fb0}
2061\= Expect no match
2062    a\x{391}\x{10427}\x{ff3a}\x{1fb0}
2063No match
2064    A\x{3b1}\x{10427}\x{ff3a}\x{1fb0}
2065No match
2066    A\x{391}\x{1044F}\x{ff3a}\x{1fb0}
2067No match
2068    A\x{391}\x{10427}\x{ff5a}\x{1fb0}
2069No match
2070    A\x{391}\x{10427}\x{ff3a}\x{1fb8}
2071No match
2072
2073/A\x{391}\x{10427}\x{ff3a}\x{1fb0}/i,utf
2074    A\x{391}\x{10427}\x{ff3a}\x{1fb0}
2075 0: A\x{391}\x{10427}\x{ff3a}\x{1fb0}
2076    a\x{391}\x{10427}\x{ff3a}\x{1fb0}
2077 0: a\x{391}\x{10427}\x{ff3a}\x{1fb0}
2078    A\x{3b1}\x{10427}\x{ff3a}\x{1fb0}
2079 0: A\x{3b1}\x{10427}\x{ff3a}\x{1fb0}
2080    A\x{391}\x{1044F}\x{ff3a}\x{1fb0}
2081 0: A\x{391}\x{1044f}\x{ff3a}\x{1fb0}
2082    A\x{391}\x{10427}\x{ff5a}\x{1fb0}
2083 0: A\x{391}\x{10427}\x{ff5a}\x{1fb0}
2084    A\x{391}\x{10427}\x{ff3a}\x{1fb8}
2085 0: A\x{391}\x{10427}\x{ff3a}\x{1fb8}
2086
2087/\x{391}+/i,utf
2088    \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}
2089 0: \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}
2090
2091/\x{391}{3,5}(.)/i,utf
2092    \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}X
2093 0: \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}X
2094 1: \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}
2095 2: \x{391}\x{3b1}\x{3b1}\x{3b1}
2096
2097/\x{391}{3,5}?(.)/i,utf
2098    \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}X
2099 0: \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}X
2100 1: \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}
2101 2: \x{391}\x{3b1}\x{3b1}\x{3b1}
2102
2103/[\x{391}\x{ff3a}]/i,utf
2104    \x{391}
2105 0: \x{391}
2106    \x{ff3a}
2107 0: \x{ff3a}
2108    \x{3b1}
2109 0: \x{3b1}
2110    \x{ff5a}
2111 0: \x{ff5a}
2112
2113/[\x{c0}\x{391}]/i,utf
2114    \x{c0}
2115 0: \x{c0}
2116    \x{e0}
2117 0: \x{e0}
2118
2119/[\x{105}-\x{109}]/i,utf
2120    \x{104}
2121 0: \x{104}
2122    \x{105}
2123 0: \x{105}
2124    \x{109}
2125 0: \x{109}
2126\= Expect no match
2127    \x{100}
2128No match
2129    \x{10a}
2130No match
2131
2132/[z-\x{100}]/i,utf
2133    Z
2134 0: Z
2135    z
2136 0: z
2137    \x{39c}
2138 0: \x{39c}
2139    \x{178}
2140 0: \x{178}
2141    |
2142 0: |
2143    \x{80}
2144 0: \x{80}
2145    \x{ff}
2146 0: \x{ff}
2147    \x{100}
2148 0: \x{100}
2149    \x{101}
2150 0: \x{101}
2151\= Expect no match
2152    \x{102}
2153No match
2154    Y
2155No match
2156    y
2157No match
2158
2159/[z-\x{100}]/i,utf
2160
2161/^\X/utf
2162    A
2163 0: A
2164    A\x{300}BC
2165 0: A\x{300}
2166    A\x{300}\x{301}\x{302}BC
2167 0: A\x{300}\x{301}\x{302}
2168    \x{300}
2169 0: \x{300}
2170
2171/^(\X*)C/utf
2172    A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
2173 0: A\x{300}\x{301}\x{302}BC
2174    A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
2175 0: A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
2176 1: A\x{300}\x{301}\x{302}BC
2177
2178/^(\X*?)C/utf
2179    A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
2180 0: A\x{300}\x{301}\x{302}BC
2181    A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
2182 0: A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
2183 1: A\x{300}\x{301}\x{302}BC
2184
2185/^(\X*)(.)/utf
2186    A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
2187 0: A\x{300}\x{301}\x{302}BCA
2188 1: A\x{300}\x{301}\x{302}BC
2189 2: A\x{300}\x{301}\x{302}B
2190 3: A
2191    A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
2192 0: A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
2193 1: A\x{300}\x{301}\x{302}BCA
2194 2: A\x{300}\x{301}\x{302}BC
2195 3: A\x{300}\x{301}\x{302}B
2196 4: A
2197
2198/^(\X*?)(.)/utf
2199    A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
2200 0: A\x{300}\x{301}\x{302}BCA
2201 1: A\x{300}\x{301}\x{302}BC
2202 2: A\x{300}\x{301}\x{302}B
2203 3: A
2204    A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
2205 0: A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
2206 1: A\x{300}\x{301}\x{302}BCA
2207 2: A\x{300}\x{301}\x{302}BC
2208 3: A\x{300}\x{301}\x{302}B
2209 4: A
2210
2211/^\X(.)/utf
2212\= Expect no match
2213    A\x{300}\x{301}\x{302}
2214No match
2215
2216/^\X{2,3}(.)/utf
2217    A\x{300}\x{301}B\x{300}X
2218 0: A\x{300}\x{301}B\x{300}X
2219    A\x{300}\x{301}B\x{300}C\x{300}\x{301}
2220 0: A\x{300}\x{301}B\x{300}C
2221    A\x{300}\x{301}B\x{300}C\x{300}\x{301}X
2222 0: A\x{300}\x{301}B\x{300}C\x{300}\x{301}X
2223 1: A\x{300}\x{301}B\x{300}C
2224    A\x{300}\x{301}B\x{300}C\x{300}\x{301}DA\x{300}X
2225 0: A\x{300}\x{301}B\x{300}C\x{300}\x{301}D
2226 1: A\x{300}\x{301}B\x{300}C
2227
2228/^\X{2,3}?(.)/utf
2229    A\x{300}\x{301}B\x{300}X
2230 0: A\x{300}\x{301}B\x{300}X
2231    A\x{300}\x{301}B\x{300}C\x{300}\x{301}
2232 0: A\x{300}\x{301}B\x{300}C
2233    A\x{300}\x{301}B\x{300}C\x{300}\x{301}X
2234 0: A\x{300}\x{301}B\x{300}C\x{300}\x{301}X
2235 1: A\x{300}\x{301}B\x{300}C
2236    A\x{300}\x{301}B\x{300}C\x{300}\x{301}DA\x{300}X
2237 0: A\x{300}\x{301}B\x{300}C\x{300}\x{301}D
2238 1: A\x{300}\x{301}B\x{300}C
2239
2240/^\pN{2,3}X/
2241    12X
2242 0: 12X
2243    123X
2244 0: 123X
2245\= Expect no match
2246    X
2247No match
2248    1X
2249No match
2250    1234X
2251No match
2252
2253/\x{100}/i,utf
2254    \x{100}
2255 0: \x{100}
2256    \x{101}
2257 0: \x{101}
2258
2259/^\p{Han}+/utf
2260    \x{2e81}\x{3007}\x{2f804}\x{31a0}
2261 0: \x{2e81}\x{3007}\x{2f804}
2262\= Expect no match
2263    \x{2e7f}
2264No match
2265
2266/^\P{Katakana}+/utf
2267    \x{3105}
2268 0: \x{3105}
2269\= Expect no match
2270    \x{30ff}
2271No match
2272
2273/^[\p{Arabic}]/utf
2274    \x{06e9}
2275 0: \x{6e9}
2276    \x{060b}
2277 0: \x{60b}
2278\= Expect no match
2279    X\x{06e9}
2280No match
2281
2282/^[\P{Yi}]/utf
2283    \x{2f800}
2284 0: \x{2f800}
2285\= Expect no match
2286    \x{a014}
2287No match
2288    \x{a4c6}
2289No match
2290
2291/^\p{Any}X/utf
2292    AXYZ
2293 0: AX
2294    \x{1234}XYZ
2295 0: \x{1234}X
2296\= Expect no match
2297    X
2298No match
2299
2300/^\P{Any}X/utf
2301\= Expect no match
2302    AX
2303No match
2304
2305/^\p{Any}?X/utf
2306    XYZ
2307 0: X
2308    AXYZ
2309 0: AX
2310    \x{1234}XYZ
2311 0: \x{1234}X
2312\= Expect no match
2313    ABXYZ
2314No match
2315
2316/^\P{Any}?X/utf
2317    XYZ
2318 0: X
2319\= Expect no match
2320    AXYZ
2321No match
2322    \x{1234}XYZ
2323No match
2324    ABXYZ
2325No match
2326
2327/^\p{Any}+X/utf
2328    AXYZ
2329 0: AX
2330    \x{1234}XYZ
2331 0: \x{1234}X
2332    A\x{1234}XYZ
2333 0: A\x{1234}X
2334\= Expect no match
2335    XYZ
2336No match
2337
2338/^\P{Any}+X/utf
2339\= Expect no match
2340    AXYZ
2341No match
2342    \x{1234}XYZ
2343No match
2344    A\x{1234}XYZ
2345No match
2346    XYZ
2347No match
2348
2349/^\p{Any}*X/utf
2350    XYZ
2351 0: X
2352    AXYZ
2353 0: AX
2354    \x{1234}XYZ
2355 0: \x{1234}X
2356    A\x{1234}XYZ
2357 0: A\x{1234}X
2358
2359/^\P{Any}*X/utf
2360    XYZ
2361 0: X
2362\= Expect no match
2363    AXYZ
2364No match
2365    \x{1234}XYZ
2366No match
2367    A\x{1234}XYZ
2368No match
2369
2370/^[\p{Any}]X/utf
2371    AXYZ
2372 0: AX
2373    \x{1234}XYZ
2374 0: \x{1234}X
2375\= Expect no match
2376    X
2377No match
2378
2379/^[\P{Any}]X/utf
2380\= Expect no match
2381    AX
2382No match
2383
2384/^[\p{Any}]?X/utf
2385    XYZ
2386 0: X
2387    AXYZ
2388 0: AX
2389    \x{1234}XYZ
2390 0: \x{1234}X
2391\= Expect no match
2392    ABXYZ
2393No match
2394
2395/^[\P{Any}]?X/utf
2396    XYZ
2397 0: X
2398\= Expect no match
2399    AXYZ
2400No match
2401    \x{1234}XYZ
2402No match
2403    ABXYZ
2404No match
2405
2406/^[\p{Any}]+X/utf
2407    AXYZ
2408 0: AX
2409    \x{1234}XYZ
2410 0: \x{1234}X
2411    A\x{1234}XYZ
2412 0: A\x{1234}X
2413\= Expect no match
2414    XYZ
2415No match
2416
2417/^[\P{Any}]+X/utf
2418\= Expect no match
2419    AXYZ
2420No match
2421    \x{1234}XYZ
2422No match
2423    A\x{1234}XYZ
2424No match
2425    XYZ
2426No match
2427
2428/^[\p{Any}]*X/utf
2429    XYZ
2430 0: X
2431    AXYZ
2432 0: AX
2433    \x{1234}XYZ
2434 0: \x{1234}X
2435    A\x{1234}XYZ
2436 0: A\x{1234}X
2437
2438/^[\P{Any}]*X/utf
2439    XYZ
2440 0: X
2441\= Expect no match
2442    AXYZ
2443No match
2444    \x{1234}XYZ
2445No match
2446    A\x{1234}XYZ
2447No match
2448
2449/^\p{Any}{3,5}?/utf
2450    abcdefgh
2451 0: abcde
2452 1: abcd
2453 2: abc
2454    \x{1234}\n\r\x{3456}xyz
2455 0: \x{1234}\x{0a}\x{0d}\x{3456}x
2456 1: \x{1234}\x{0a}\x{0d}\x{3456}
2457 2: \x{1234}\x{0a}\x{0d}
2458
2459/^\p{Any}{3,5}/utf
2460    abcdefgh
2461 0: abcde
2462    \x{1234}\n\r\x{3456}xyz
2463 0: \x{1234}\x{0a}\x{0d}\x{3456}x
2464
2465/^\P{Any}{3,5}?/utf
2466\= Expect no match
2467    abcdefgh
2468No match
2469    \x{1234}\n\r\x{3456}xyz
2470No match
2471
2472/^\p{L&}X/utf
2473     AXY
2474 0: AX
2475     aXY
2476 0: aX
2477     \x{1c5}XY
2478 0: \x{1c5}X
2479\= Expect no match
2480     \x{1bb}XY
2481No match
2482     \x{2b0}XY
2483No match
2484     !XY
2485No match
2486
2487/^[\p{L&}]X/utf
2488     AXY
2489 0: AX
2490     aXY
2491 0: aX
2492     \x{1c5}XY
2493 0: \x{1c5}X
2494\= Expect no match
2495     \x{1bb}XY
2496No match
2497     \x{2b0}XY
2498No match
2499     !XY
2500No match
2501
2502/^\p{L&}+X/utf
2503     AXY
2504 0: AX
2505     aXY
2506 0: aX
2507     AbcdeXyz
2508 0: AbcdeX
2509     \x{1c5}AbXY
2510 0: \x{1c5}AbX
2511     abcDEXypqreXlmn
2512 0: abcDEXypqreX
2513 1: abcDEX
2514\= Expect no match
2515     \x{1bb}XY
2516No match
2517     \x{2b0}XY
2518No match
2519     !XY
2520No match
2521
2522/^[\p{L&}]+X/utf
2523     AXY
2524 0: AX
2525     aXY
2526 0: aX
2527     AbcdeXyz
2528 0: AbcdeX
2529     \x{1c5}AbXY
2530 0: \x{1c5}AbX
2531     abcDEXypqreXlmn
2532 0: abcDEXypqreX
2533 1: abcDEX
2534\= Expect no match
2535     \x{1bb}XY
2536No match
2537     \x{2b0}XY
2538No match
2539     !XY
2540No match
2541
2542/^\p{L&}+?X/utf
2543     AXY
2544 0: AX
2545     aXY
2546 0: aX
2547     AbcdeXyz
2548 0: AbcdeX
2549     \x{1c5}AbXY
2550 0: \x{1c5}AbX
2551     abcDEXypqreXlmn
2552 0: abcDEXypqreX
2553 1: abcDEX
2554\= Expect no match
2555     \x{1bb}XY
2556No match
2557     \x{2b0}XY
2558No match
2559     !XY
2560No match
2561
2562/^[\p{L&}]+?X/utf
2563     AXY
2564 0: AX
2565     aXY
2566 0: aX
2567     AbcdeXyz
2568 0: AbcdeX
2569     \x{1c5}AbXY
2570 0: \x{1c5}AbX
2571     abcDEXypqreXlmn
2572 0: abcDEXypqreX
2573 1: abcDEX
2574\= Expect no match
2575     \x{1bb}XY
2576No match
2577     \x{2b0}XY
2578No match
2579     !XY
2580No match
2581
2582/^\P{L&}X/utf
2583     !XY
2584 0: !X
2585     \x{1bb}XY
2586 0: \x{1bb}X
2587     \x{2b0}XY
2588 0: \x{2b0}X
2589\= Expect no match
2590     \x{1c5}XY
2591No match
2592     AXY
2593No match
2594
2595/^[\P{L&}]X/utf
2596     !XY
2597 0: !X
2598     \x{1bb}XY
2599 0: \x{1bb}X
2600     \x{2b0}XY
2601 0: \x{2b0}X
2602\= Expect no match
2603     \x{1c5}XY
2604No match
2605     AXY
2606No match
2607
2608/^\x{023a}+?(\x{0130}+)/i,utf
2609  \x{023a}\x{2c65}\x{0130}
2610 0: \x{23a}\x{2c65}\x{130}
2611
2612/^\x{023a}+([^X])/i,utf
2613  \x{023a}\x{2c65}X
2614 0: \x{23a}\x{2c65}
2615
2616/\x{c0}+\x{116}+/i,utf
2617    \x{c0}\x{e0}\x{116}\x{117}
2618 0: \x{c0}\x{e0}\x{116}\x{117}
2619
2620/[\x{c0}\x{116}]+/i,utf
2621    \x{c0}\x{e0}\x{116}\x{117}
2622 0: \x{c0}\x{e0}\x{116}\x{117}
2623
2624# Check property support in non-UTF-8 mode
2625
2626/\p{L}{4}/
2627    123abcdefg
2628 0: abcd
2629    123abc\xc4\xc5zz
2630 0: abc\xc4
2631
2632/\p{Carian}\p{Cham}\p{Kayah_Li}\p{Lepcha}\p{Lycian}\p{Lydian}\p{Ol_Chiki}\p{Rejang}\p{Saurashtra}\p{Sundanese}\p{Vai}/utf
2633    \x{102A4}\x{AA52}\x{A91D}\x{1C46}\x{10283}\x{1092E}\x{1C6B}\x{A93B}\x{A8BF}\x{1BA0}\x{A50A}====
2634 0: \x{102a4}\x{aa52}\x{a91d}\x{1c46}\x{10283}\x{1092e}\x{1c6b}\x{a93b}\x{a8bf}\x{1ba0}\x{a50a}
2635
2636/\x{a77d}\x{1d79}/i,utf
2637    \x{a77d}\x{1d79}
2638 0: \x{a77d}\x{1d79}
2639    \x{1d79}\x{a77d}
2640 0: \x{1d79}\x{a77d}
2641
2642/\x{a77d}\x{1d79}/utf
2643    \x{a77d}\x{1d79}
2644 0: \x{a77d}\x{1d79}
2645\= Expect no match
2646    \x{1d79}\x{a77d}
2647No match
2648
2649/^\p{Xan}/utf
2650    ABCD
2651 0: A
2652    1234
2653 0: 1
2654    \x{6ca}
2655 0: \x{6ca}
2656    \x{a6c}
2657 0: \x{a6c}
2658    \x{10a7}
2659 0: \x{10a7}
2660\= Expect no match
2661    _ABC
2662No match
2663
2664/^\p{Xan}+/utf
2665    ABCD1234\x{6ca}\x{a6c}\x{10a7}_
2666 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}
2667\= Expect no match
2668    _ABC
2669No match
2670
2671/^\p{Xan}*/utf
2672    ABCD1234\x{6ca}\x{a6c}\x{10a7}_
2673 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}
2674
2675/^\p{Xan}{2,9}/utf
2676    ABCD1234\x{6ca}\x{a6c}\x{10a7}_
2677 0: ABCD1234\x{6ca}
2678
2679/^[\p{Xan}]/utf
2680    ABCD1234_
2681 0: A
2682    1234abcd_
2683 0: 1
2684    \x{6ca}
2685 0: \x{6ca}
2686    \x{a6c}
2687 0: \x{a6c}
2688    \x{10a7}
2689 0: \x{10a7}
2690\= Expect no match
2691    _ABC
2692No match
2693
2694/^[\p{Xan}]+/utf
2695    ABCD1234\x{6ca}\x{a6c}\x{10a7}_
2696 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}
2697\= Expect no match
2698    _ABC
2699No match
2700
2701/^>\p{Xsp}/utf
2702    >\x{1680}\x{2028}\x{0b}
2703 0: >\x{1680}
2704\= Expect no match
2705    \x{0b}
2706No match
2707
2708/^>\p{Xsp}+/utf,no_auto_possess
2709    > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
2710 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
2711 1: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}
2712 2: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}
2713 3: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}
2714 4: > \x{09}\x{0a}\x{0c}\x{0d}
2715 5: > \x{09}\x{0a}\x{0c}
2716 6: > \x{09}\x{0a}
2717 7: > \x{09}
2718 8: >
2719
2720/^>\p{Xsp}*/utf,no_auto_possess
2721    > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
2722 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
2723 1: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}
2724 2: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}
2725 3: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}
2726 4: > \x{09}\x{0a}\x{0c}\x{0d}
2727 5: > \x{09}\x{0a}\x{0c}
2728 6: > \x{09}\x{0a}
2729 7: > \x{09}
2730 8: >
2731 9: >
2732
2733/^>\p{Xsp}{2,9}/utf,no_auto_possess
2734    > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
2735 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
2736 1: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}
2737 2: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}
2738 3: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}
2739 4: > \x{09}\x{0a}\x{0c}\x{0d}
2740 5: > \x{09}\x{0a}\x{0c}
2741 6: > \x{09}\x{0a}
2742 7: > \x{09}
2743
2744/^>[\p{Xsp}]/utf,no_auto_possess
2745    >\x{2028}\x{0b}
2746 0: >\x{2028}
2747
2748/^>[\p{Xsp}]+/utf,no_auto_possess
2749    > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
2750 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
2751 1: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}
2752 2: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}
2753 3: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}
2754 4: > \x{09}\x{0a}\x{0c}\x{0d}
2755 5: > \x{09}\x{0a}\x{0c}
2756 6: > \x{09}\x{0a}
2757 7: > \x{09}
2758 8: >
2759
2760/^>\p{Xps}/utf
2761    >\x{1680}\x{2028}\x{0b}
2762 0: >\x{1680}
2763    >\x{a0}
2764 0: >\x{a0}
2765\= Expect no match
2766    \x{0b}
2767No match
2768
2769/^>\p{Xps}+/utf
2770    > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
2771 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
2772
2773/^>\p{Xps}+?/utf
2774    >\x{1680}\x{2028}\x{0b}
2775 0: >\x{1680}\x{2028}\x{0b}
2776 1: >\x{1680}\x{2028}
2777 2: >\x{1680}
2778
2779/^>\p{Xps}*/utf
2780    > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
2781 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
2782
2783/^>\p{Xps}{2,9}/utf
2784    > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
2785 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
2786
2787/^>\p{Xps}{2,9}?/utf
2788    > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
2789 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
2790 1: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}
2791 2: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}
2792 3: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}
2793 4: > \x{09}\x{0a}\x{0c}\x{0d}
2794 5: > \x{09}\x{0a}\x{0c}
2795 6: > \x{09}\x{0a}
2796 7: > \x{09}
2797
2798/^>[\p{Xps}]/utf
2799    >\x{2028}\x{0b}
2800 0: >\x{2028}
2801
2802/^>[\p{Xps}]+/utf
2803    > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
2804 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
2805
2806/^\p{Xwd}/utf
2807    ABCD
2808 0: A
2809    1234
2810 0: 1
2811    \x{6ca}
2812 0: \x{6ca}
2813    \x{a6c}
2814 0: \x{a6c}
2815    \x{10a7}
2816 0: \x{10a7}
2817    _ABC
2818 0: _
2819\= Expect no match
2820    []
2821No match
2822
2823/^\p{Xwd}+/utf
2824    ABCD1234\x{6ca}\x{a6c}\x{10a7}_
2825 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
2826
2827/^\p{Xwd}*/utf
2828    ABCD1234\x{6ca}\x{a6c}\x{10a7}_
2829 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
2830
2831/^\p{Xwd}{2,9}/utf
2832    A_12\x{6ca}\x{a6c}\x{10a7}
2833 0: A_12\x{6ca}\x{a6c}\x{10a7}
2834
2835/^[\p{Xwd}]/utf
2836    ABCD1234_
2837 0: A
2838    1234abcd_
2839 0: 1
2840    \x{6ca}
2841 0: \x{6ca}
2842    \x{a6c}
2843 0: \x{a6c}
2844    \x{10a7}
2845 0: \x{10a7}
2846    _ABC
2847 0: _
2848\= Expect no match
2849    []
2850No match
2851
2852/^[\p{Xwd}]+/utf
2853    ABCD1234\x{6ca}\x{a6c}\x{10a7}_
2854 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
2855
2856# Unicode properties for \b abd \B
2857
2858/\b...\B/utf,ucp
2859    abc_
2860 0: abc
2861    \x{37e}abc\x{376}
2862 0: abc
2863    \x{37e}\x{376}\x{371}\x{393}\x{394}
2864 0: \x{376}\x{371}\x{393}
2865    !\x{c0}++\x{c1}\x{c2}
2866 0: ++\x{c1}
2867    !\x{c0}+++++
2868 0: \x{c0}++
2869
2870# Without PCRE_UCP, non-ASCII always fail, even if < 256
2871
2872/\b...\B/utf
2873    abc_
2874 0: abc
2875\= Expect no match
2876    \x{37e}abc\x{376}
2877No match
2878    \x{37e}\x{376}\x{371}\x{393}\x{394}
2879No match
2880    !\x{c0}++\x{c1}\x{c2}
2881No match
2882    !\x{c0}+++++
2883No match
2884
2885# With PCRE_UCP, non-UTF8 chars that are < 256 still check properties
2886
2887/\b...\B/ucp
2888    abc_
2889 0: abc
2890    !\x{c0}++\x{c1}\x{c2}
2891 0: ++\xc1
2892    !\x{c0}+++++
2893 0: \xc0++
2894
2895# Caseless single negated characters > 127 need UCP support
2896
2897/[^\x{100}]/i,utf
2898    \x{100}\x{101}X
2899 0: X
2900
2901/[^\x{100}]+/i,utf
2902    \x{100}\x{101}XX
2903 0: XX
2904
2905/^\X/utf
2906    A\=ps
2907 0: A
2908    A\=ph
2909Partial match: A
2910    A\x{300}\x{301}\=ps
2911 0: A\x{300}\x{301}
2912    A\x{300}\x{301}\=ph
2913Partial match: A\x{300}\x{301}
2914    A\x{301}\=ps
2915 0: A\x{301}
2916    A\x{301}\=ph
2917Partial match: A\x{301}
2918
2919/^\X{2,3}/utf
2920    A\=ps
2921Partial match: A
2922    A\=ph
2923Partial match: A
2924    AA\=ps
2925 0: AA
2926    AA\=ph
2927Partial match: AA
2928    A\x{300}\x{301}\=ps
2929Partial match: A\x{300}\x{301}
2930    A\x{300}\x{301}\=ph
2931Partial match: A\x{300}\x{301}
2932    A\x{300}\x{301}A\x{300}\x{301}\=ps
2933 0: A\x{300}\x{301}A\x{300}\x{301}
2934    A\x{300}\x{301}A\x{300}\x{301}\=ph
2935Partial match: A\x{300}\x{301}A\x{300}\x{301}
2936
2937/^\X{2}/utf
2938    AA\=ps
2939 0: AA
2940    AA\=ph
2941Partial match: AA
2942    A\x{300}\x{301}A\x{300}\x{301}\=ps
2943 0: A\x{300}\x{301}A\x{300}\x{301}
2944    A\x{300}\x{301}A\x{300}\x{301}\=ph
2945Partial match: A\x{300}\x{301}A\x{300}\x{301}
2946
2947/^\X+/utf
2948    AA\=ps
2949 0: AA
2950    AA\=ph
2951Partial match: AA
2952
2953/^\X+?Z/utf
2954    AA\=ps
2955Partial match: AA
2956    AA\=ph
2957Partial match: AA
2958
2959# These are tests for extended grapheme clusters
2960
2961/^\X/utf,aftertext
2962    G\x{34e}\x{34e}X
2963 0: G\x{34e}\x{34e}
2964 0+ X
2965    \x{34e}\x{34e}X
2966 0: \x{34e}\x{34e}
2967 0+ X
2968    \x04X
2969 0: \x{04}
2970 0+ X
2971    \x{1100}X
2972 0: \x{1100}
2973 0+ X
2974    \x{1100}\x{34e}X
2975 0: \x{1100}\x{34e}
2976 0+ X
2977    \x{1b04}\x{1b04}X
2978 0: \x{1b04}\x{1b04}
2979 0+ X
2980\= These match up to the roman letters
2981    \x{1111}\x{1111}L,L
2982 0: \x{1111}\x{1111}
2983 0+ L,L
2984    \x{1111}\x{1111}\x{1169}L,L,V
2985 0: \x{1111}\x{1111}\x{1169}
2986 0+ L,L,V
2987    \x{1111}\x{ae4c}L, LV
2988 0: \x{1111}\x{ae4c}
2989 0+ L, LV
2990    \x{1111}\x{ad89}L, LVT
2991 0: \x{1111}\x{ad89}
2992 0+ L, LVT
2993    \x{1111}\x{ae4c}\x{1169}L, LV, V
2994 0: \x{1111}\x{ae4c}\x{1169}
2995 0+ L, LV, V
2996    \x{1111}\x{ae4c}\x{1169}\x{1169}L, LV, V, V
2997 0: \x{1111}\x{ae4c}\x{1169}\x{1169}
2998 0+ L, LV, V, V
2999    \x{1111}\x{ae4c}\x{1169}\x{11fe}L, LV, V, T
3000 0: \x{1111}\x{ae4c}\x{1169}\x{11fe}
3001 0+ L, LV, V, T
3002    \x{1111}\x{ad89}\x{11fe}L, LVT, T
3003 0: \x{1111}\x{ad89}\x{11fe}
3004 0+ L, LVT, T
3005    \x{1111}\x{ad89}\x{11fe}\x{11fe}L, LVT, T, T
3006 0: \x{1111}\x{ad89}\x{11fe}\x{11fe}
3007 0+ L, LVT, T, T
3008    \x{ad89}\x{11fe}\x{11fe}LVT, T, T
3009 0: \x{ad89}\x{11fe}\x{11fe}
3010 0+ LVT, T, T
3011\= These match just the first codepoint (invalid sequence)
3012    \x{1111}\x{11fe}L, T
3013 0: \x{1111}
3014 0+ \x{11fe}L, T
3015    \x{ae4c}\x{1111}LV, L
3016 0: \x{ae4c}
3017 0+ \x{1111}LV, L
3018    \x{ae4c}\x{ae4c}LV, LV
3019 0: \x{ae4c}
3020 0+ \x{ae4c}LV, LV
3021    \x{ae4c}\x{ad89}LV, LVT
3022 0: \x{ae4c}
3023 0+ \x{ad89}LV, LVT
3024    \x{1169}\x{1111}V, L
3025 0: \x{1169}
3026 0+ \x{1111}V, L
3027    \x{1169}\x{ae4c}V, LV
3028 0: \x{1169}
3029 0+ \x{ae4c}V, LV
3030    \x{1169}\x{ad89}V, LVT
3031 0: \x{1169}
3032 0+ \x{ad89}V, LVT
3033    \x{ad89}\x{1111}LVT, L
3034 0: \x{ad89}
3035 0+ \x{1111}LVT, L
3036    \x{ad89}\x{1169}LVT, V
3037 0: \x{ad89}
3038 0+ \x{1169}LVT, V
3039    \x{ad89}\x{ae4c}LVT, LV
3040 0: \x{ad89}
3041 0+ \x{ae4c}LVT, LV
3042    \x{ad89}\x{ad89}LVT, LVT
3043 0: \x{ad89}
3044 0+ \x{ad89}LVT, LVT
3045    \x{11fe}\x{1111}T, L
3046 0: \x{11fe}
3047 0+ \x{1111}T, L
3048    \x{11fe}\x{1169}T, V
3049 0: \x{11fe}
3050 0+ \x{1169}T, V
3051    \x{11fe}\x{ae4c}T, LV
3052 0: \x{11fe}
3053 0+ \x{ae4c}T, LV
3054    \x{11fe}\x{ad89}T, LVT
3055 0: \x{11fe}
3056 0+ \x{ad89}T, LVT
3057\= Test extend and spacing mark
3058    \x{1111}\x{ae4c}\x{0711}L, LV, extend
3059 0: \x{1111}\x{ae4c}\x{711}
3060 0+ L, LV, extend
3061    \x{1111}\x{ae4c}\x{1b04}L, LV, spacing mark
3062 0: \x{1111}\x{ae4c}\x{1b04}
3063 0+ L, LV, spacing mark
3064    \x{1111}\x{ae4c}\x{1b04}\x{0711}\x{1b04}L, LV, spacing mark, extend, spacing mark
3065 0: \x{1111}\x{ae4c}\x{1b04}\x{711}\x{1b04}
3066 0+ L, LV, spacing mark, extend, spacing mark
3067\= Test CR, LF, and control
3068    \x0d\x{0711}CR, extend
3069 0: \x{0d}
3070 0+ \x{711}CR, extend
3071    \x0d\x{1b04}CR, spacingmark
3072 0: \x{0d}
3073 0+ \x{1b04}CR, spacingmark
3074    \x0a\x{0711}LF, extend
3075 0: \x{0a}
3076 0+ \x{711}LF, extend
3077    \x0a\x{1b04}LF, spacingmark
3078 0: \x{0a}
3079 0+ \x{1b04}LF, spacingmark
3080    \x0b\x{0711}Control, extend
3081 0: \x{0b}
3082 0+ \x{711}Control, extend
3083    \x09\x{1b04}Control, spacingmark
3084 0: \x{09}
3085 0+ \x{1b04}Control, spacingmark
3086\= There are no Prepend characters, so we can't test Prepend, CR
3087
3088/^(?>\X{2})X/utf,aftertext
3089    \x{1111}\x{ae4c}\x{1111}\x{ae4c}X
3090 0: \x{1111}\x{ae4c}\x{1111}\x{ae4c}X
3091 0+
3092
3093/^\X{2,4}X/utf,aftertext
3094    \x{1111}\x{ae4c}\x{1111}\x{ae4c}X
3095 0: \x{1111}\x{ae4c}\x{1111}\x{ae4c}X
3096 0+
3097    \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
3098 0: \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
3099 0+
3100    \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
3101 0: \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
3102 0+
3103
3104/^\X{2,4}?X/utf,aftertext
3105    \x{1111}\x{ae4c}\x{1111}\x{ae4c}X
3106 0: \x{1111}\x{ae4c}\x{1111}\x{ae4c}X
3107 0+
3108    \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
3109 0: \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
3110 0+
3111    \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
3112 0: \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
3113 0+
3114
3115/\x{1e9e}+/i,utf
3116    \x{1e9e}\x{00df}
3117 0: \x{1e9e}\x{df}
3118
3119/[z\x{1e9e}]+/i,utf
3120    \x{1e9e}\x{00df}
3121 0: \x{1e9e}\x{df}
3122
3123/\x{00df}+/i,utf
3124    \x{1e9e}\x{00df}
3125 0: \x{1e9e}\x{df}
3126
3127/[z\x{00df}]+/i,utf
3128    \x{1e9e}\x{00df}
3129 0: \x{1e9e}\x{df}
3130
3131/\x{1f88}+/i,utf
3132    \x{1f88}\x{1f80}
3133 0: \x{1f88}\x{1f80}
3134
3135/[z\x{1f88}]+/i,utf
3136    \x{1f88}\x{1f80}
3137 0: \x{1f88}\x{1f80}
3138
3139# Perl matches these
3140
3141/\x{00b5}+/i,utf
3142    \x{00b5}\x{039c}\x{03bc}
3143 0: \x{b5}\x{39c}\x{3bc}
3144
3145/\x{039c}+/i,utf
3146    \x{00b5}\x{039c}\x{03bc}
3147 0: \x{b5}\x{39c}\x{3bc}
3148
3149/\x{03bc}+/i,utf
3150    \x{00b5}\x{039c}\x{03bc}
3151 0: \x{b5}\x{39c}\x{3bc}
3152
3153
3154/\x{00c5}+/i,utf
3155    \x{00c5}\x{00e5}\x{212b}
3156 0: \x{c5}\x{e5}\x{212b}
3157
3158/\x{00e5}+/i,utf
3159    \x{00c5}\x{00e5}\x{212b}
3160 0: \x{c5}\x{e5}\x{212b}
3161
3162/\x{212b}+/i,utf
3163    \x{00c5}\x{00e5}\x{212b}
3164 0: \x{c5}\x{e5}\x{212b}
3165
3166/\x{01c4}+/i,utf
3167    \x{01c4}\x{01c5}\x{01c6}
3168 0: \x{1c4}\x{1c5}\x{1c6}
3169
3170/\x{01c5}+/i,utf
3171    \x{01c4}\x{01c5}\x{01c6}
3172 0: \x{1c4}\x{1c5}\x{1c6}
3173
3174/\x{01c6}+/i,utf
3175    \x{01c4}\x{01c5}\x{01c6}
3176 0: \x{1c4}\x{1c5}\x{1c6}
3177
3178/\x{01c7}+/i,utf
3179    \x{01c7}\x{01c8}\x{01c9}
3180 0: \x{1c7}\x{1c8}\x{1c9}
3181
3182/\x{01c8}+/i,utf
3183    \x{01c7}\x{01c8}\x{01c9}
3184 0: \x{1c7}\x{1c8}\x{1c9}
3185
3186/\x{01c9}+/i,utf
3187    \x{01c7}\x{01c8}\x{01c9}
3188 0: \x{1c7}\x{1c8}\x{1c9}
3189
3190
3191/\x{01ca}+/i,utf
3192    \x{01ca}\x{01cb}\x{01cc}
3193 0: \x{1ca}\x{1cb}\x{1cc}
3194
3195/\x{01cb}+/i,utf
3196    \x{01ca}\x{01cb}\x{01cc}
3197 0: \x{1ca}\x{1cb}\x{1cc}
3198
3199/\x{01cc}+/i,utf
3200    \x{01ca}\x{01cb}\x{01cc}
3201 0: \x{1ca}\x{1cb}\x{1cc}
3202
3203/\x{01f1}+/i,utf
3204    \x{01f1}\x{01f2}\x{01f3}
3205 0: \x{1f1}\x{1f2}\x{1f3}
3206
3207/\x{01f2}+/i,utf
3208    \x{01f1}\x{01f2}\x{01f3}
3209 0: \x{1f1}\x{1f2}\x{1f3}
3210
3211/\x{01f3}+/i,utf
3212    \x{01f1}\x{01f2}\x{01f3}
3213 0: \x{1f1}\x{1f2}\x{1f3}
3214
3215/\x{0345}+/i,utf
3216    \x{0345}\x{0399}\x{03b9}\x{1fbe}
3217 0: \x{345}\x{399}\x{3b9}\x{1fbe}
3218
3219/\x{0399}+/i,utf
3220    \x{0345}\x{0399}\x{03b9}\x{1fbe}
3221 0: \x{345}\x{399}\x{3b9}\x{1fbe}
3222
3223/\x{03b9}+/i,utf
3224    \x{0345}\x{0399}\x{03b9}\x{1fbe}
3225 0: \x{345}\x{399}\x{3b9}\x{1fbe}
3226
3227/\x{1fbe}+/i,utf
3228    \x{0345}\x{0399}\x{03b9}\x{1fbe}
3229 0: \x{345}\x{399}\x{3b9}\x{1fbe}
3230
3231/\x{0392}+/i,utf
3232    \x{0392}\x{03b2}\x{03d0}
3233 0: \x{392}\x{3b2}\x{3d0}
3234
3235/\x{03b2}+/i,utf
3236    \x{0392}\x{03b2}\x{03d0}
3237 0: \x{392}\x{3b2}\x{3d0}
3238
3239/\x{03d0}+/i,utf
3240    \x{0392}\x{03b2}\x{03d0}
3241 0: \x{392}\x{3b2}\x{3d0}
3242
3243
3244/\x{0395}+/i,utf
3245    \x{0395}\x{03b5}\x{03f5}
3246 0: \x{395}\x{3b5}\x{3f5}
3247
3248/\x{03b5}+/i,utf
3249    \x{0395}\x{03b5}\x{03f5}
3250 0: \x{395}\x{3b5}\x{3f5}
3251
3252/\x{03f5}+/i,utf
3253    \x{0395}\x{03b5}\x{03f5}
3254 0: \x{395}\x{3b5}\x{3f5}
3255
3256/\x{0398}+/i,utf
3257    \x{0398}\x{03b8}\x{03d1}\x{03f4}
3258 0: \x{398}\x{3b8}\x{3d1}\x{3f4}
3259
3260/\x{03b8}+/i,utf
3261    \x{0398}\x{03b8}\x{03d1}\x{03f4}
3262 0: \x{398}\x{3b8}\x{3d1}\x{3f4}
3263
3264/\x{03d1}+/i,utf
3265    \x{0398}\x{03b8}\x{03d1}\x{03f4}
3266 0: \x{398}\x{3b8}\x{3d1}\x{3f4}
3267
3268/\x{03f4}+/i,utf
3269    \x{0398}\x{03b8}\x{03d1}\x{03f4}
3270 0: \x{398}\x{3b8}\x{3d1}\x{3f4}
3271
3272/\x{039a}+/i,utf
3273    \x{039a}\x{03ba}\x{03f0}
3274 0: \x{39a}\x{3ba}\x{3f0}
3275
3276/\x{03ba}+/i,utf
3277    \x{039a}\x{03ba}\x{03f0}
3278 0: \x{39a}\x{3ba}\x{3f0}
3279
3280/\x{03f0}+/i,utf
3281    \x{039a}\x{03ba}\x{03f0}
3282 0: \x{39a}\x{3ba}\x{3f0}
3283
3284/\x{03a0}+/i,utf
3285    \x{03a0}\x{03c0}\x{03d6}
3286 0: \x{3a0}\x{3c0}\x{3d6}
3287
3288/\x{03c0}+/i,utf
3289    \x{03a0}\x{03c0}\x{03d6}
3290 0: \x{3a0}\x{3c0}\x{3d6}
3291
3292/\x{03d6}+/i,utf
3293    \x{03a0}\x{03c0}\x{03d6}
3294 0: \x{3a0}\x{3c0}\x{3d6}
3295
3296/\x{03a1}+/i,utf
3297    \x{03a1}\x{03c1}\x{03f1}
3298 0: \x{3a1}\x{3c1}\x{3f1}
3299
3300/\x{03c1}+/i,utf
3301    \x{03a1}\x{03c1}\x{03f1}
3302 0: \x{3a1}\x{3c1}\x{3f1}
3303
3304/\x{03f1}+/i,utf
3305    \x{03a1}\x{03c1}\x{03f1}
3306 0: \x{3a1}\x{3c1}\x{3f1}
3307
3308/\x{03a3}+/i,utf
3309    \x{03A3}\x{03C2}\x{03C3}
3310 0: \x{3a3}\x{3c2}\x{3c3}
3311
3312/\x{03c2}+/i,utf
3313    \x{03A3}\x{03C2}\x{03C3}
3314 0: \x{3a3}\x{3c2}\x{3c3}
3315
3316/\x{03c3}+/i,utf
3317    \x{03A3}\x{03C2}\x{03C3}
3318 0: \x{3a3}\x{3c2}\x{3c3}
3319
3320/\x{03a6}+/i,utf
3321    \x{03a6}\x{03c6}\x{03d5}
3322 0: \x{3a6}\x{3c6}\x{3d5}
3323
3324/\x{03c6}+/i,utf
3325    \x{03a6}\x{03c6}\x{03d5}
3326 0: \x{3a6}\x{3c6}\x{3d5}
3327
3328/\x{03d5}+/i,utf
3329    \x{03a6}\x{03c6}\x{03d5}
3330 0: \x{3a6}\x{3c6}\x{3d5}
3331
3332/\x{03c9}+/i,utf
3333    \x{03c9}\x{03a9}\x{2126}
3334 0: \x{3c9}\x{3a9}\x{2126}
3335
3336/\x{03a9}+/i,utf
3337    \x{03c9}\x{03a9}\x{2126}
3338 0: \x{3c9}\x{3a9}\x{2126}
3339
3340/\x{2126}+/i,utf
3341    \x{03c9}\x{03a9}\x{2126}
3342 0: \x{3c9}\x{3a9}\x{2126}
3343
3344/\x{1e60}+/i,utf
3345    \x{1e60}\x{1e61}\x{1e9b}
3346 0: \x{1e60}\x{1e61}\x{1e9b}
3347
3348/\x{1e61}+/i,utf
3349    \x{1e60}\x{1e61}\x{1e9b}
3350 0: \x{1e60}\x{1e61}\x{1e9b}
3351
3352/\x{1e9b}+/i,utf
3353    \x{1e60}\x{1e61}\x{1e9b}
3354 0: \x{1e60}\x{1e61}\x{1e9b}
3355
3356/\x{1e9e}+/i,utf
3357    \x{1e9e}\x{00df}
3358 0: \x{1e9e}\x{df}
3359
3360/\x{00df}+/i,utf
3361    \x{1e9e}\x{00df}
3362 0: \x{1e9e}\x{df}
3363
3364/\x{1f88}+/i,utf
3365    \x{1f88}\x{1f80}
3366 0: \x{1f88}\x{1f80}
3367
3368/\x{1f80}+/i,utf
3369    \x{1f88}\x{1f80}
3370 0: \x{1f88}\x{1f80}
3371
3372/\x{004b}+/i,utf
3373    \x{004b}\x{006b}\x{212a}
3374 0: Kk\x{212a}
3375
3376/\x{006b}+/i,utf
3377    \x{004b}\x{006b}\x{212a}
3378 0: Kk\x{212a}
3379
3380/\x{212a}+/i,utf
3381    \x{004b}\x{006b}\x{212a}
3382 0: Kk\x{212a}
3383
3384/\x{0053}+/i,utf
3385    \x{0053}\x{0073}\x{017f}
3386 0: Ss\x{17f}
3387
3388/\x{0073}+/i,utf
3389    \x{0053}\x{0073}\x{017f}
3390 0: Ss\x{17f}
3391
3392/\x{017f}+/i,utf
3393    \x{0053}\x{0073}\x{017f}
3394 0: Ss\x{17f}
3395
3396/ist/i,utf
3397\= Expect no match
3398    ikt
3399No match
3400
3401/is+t/i,utf
3402    iSs\x{17f}t
3403 0: iSs\x{17f}t
3404\= Expect no match
3405    ikt
3406No match
3407
3408/is+?t/i,utf
3409\= Expect no match
3410    ikt
3411No match
3412
3413/is?t/i,utf
3414\= Expect no match
3415    ikt
3416No match
3417
3418/is{2}t/i,utf
3419\= Expect no match
3420    iskt
3421No match
3422
3423/^\p{Xuc}/utf
3424    $abc
3425 0: $
3426    @abc
3427 0: @
3428    `abc
3429 0: `
3430    \x{1234}abc
3431 0: \x{1234}
3432\= Expect no match
3433    abc
3434No match
3435
3436/^\p{Xuc}+/utf
3437    $@`\x{a0}\x{1234}\x{e000}**
3438 0: $@`\x{a0}\x{1234}\x{e000}
3439\= Expect no match
3440    \x{9f}
3441No match
3442
3443/^\p{Xuc}+?/utf
3444    $@`\x{a0}\x{1234}\x{e000}**
3445 0: $@`\x{a0}\x{1234}\x{e000}
3446 1: $@`\x{a0}\x{1234}
3447 2: $@`\x{a0}
3448 3: $@`
3449 4: $@
3450 5: $
3451\= Expect no match
3452    \x{9f}
3453No match
3454
3455/^\p{Xuc}+?\*/utf
3456    $@`\x{a0}\x{1234}\x{e000}**
3457 0: $@`\x{a0}\x{1234}\x{e000}*
3458\= Expect no match
3459    \x{9f}
3460No match
3461
3462/^\p{Xuc}++/utf
3463    $@`\x{a0}\x{1234}\x{e000}**
3464 0: $@`\x{a0}\x{1234}\x{e000}
3465\= Expect no match
3466    \x{9f}
3467No match
3468
3469/^\p{Xuc}{3,5}/utf
3470    $@`\x{a0}\x{1234}\x{e000}**
3471 0: $@`\x{a0}\x{1234}
3472\= Expect no match
3473    \x{9f}
3474No match
3475
3476/^\p{Xuc}{3,5}?/utf
3477    $@`\x{a0}\x{1234}\x{e000}**
3478 0: $@`\x{a0}\x{1234}
3479 1: $@`\x{a0}
3480 2: $@`
3481\= Expect no match
3482    \x{9f}
3483No match
3484
3485/^[\p{Xuc}]/utf
3486    $@`\x{a0}\x{1234}\x{e000}**
3487 0: $
3488\= Expect no match
3489    \x{9f}
3490No match
3491
3492/^[\p{Xuc}]+/utf
3493    $@`\x{a0}\x{1234}\x{e000}**
3494 0: $@`\x{a0}\x{1234}\x{e000}
3495\= Expect no match
3496    \x{9f}
3497No match
3498
3499/^\P{Xuc}/utf
3500    abc
3501 0: a
3502\= Expect no match
3503    $abc
3504No match
3505    @abc
3506No match
3507    `abc
3508No match
3509    \x{1234}abc
3510No match
3511
3512/^[\P{Xuc}]/utf
3513    abc
3514 0: a
3515\= Expect no match
3516    $abc
3517No match
3518    @abc
3519No match
3520    `abc
3521No match
3522    \x{1234}abc
3523No match
3524
3525/^A\s+Z/utf,ucp
3526    A\x{2005}Z
3527 0: A\x{2005}Z
3528    A\x{85}\x{180e}\x{2005}Z
3529 0: A\x{85}\x{180e}\x{2005}Z
3530
3531/^A[\s]+Z/utf,ucp
3532    A\x{2005}Z
3533 0: A\x{2005}Z
3534    A\x{85}\x{180e}\x{2005}Z
3535 0: A\x{85}\x{180e}\x{2005}Z
3536
3537/(?<=\x{100})\x{200}(?=\x{300})/utf,allusedtext
3538    \x{100}\x{200}\x{300}
3539 0: \x{100}\x{200}\x{300}
3540    <<<<<<<       >>>>>>>
3541
3542# End of testinput7
3543